Да, задача непростая, с наскока не решить. А главное - уникальная, никто такое раньше не делал, гуглить бесполезно. Правильно сделали, что обратились сюда за помощью.
yuriytkachenko, это вы чего? Какой к чёрту реакт, если язык ни хрена не знаете? Хотя... если ваша цель - стать говнокодером, то да, верной дорогой идёте.
"Не так" - это как? КОД ГДЕ? Угадывать, что вы имели в виду под "показ делаю через переменную" и "инициализировать" желания нет. Так что давайте, продемонстрируйте, что у вас уже есть. Желательно, это будет демо в песочнице.
gsdev99, вы лжёте, вам это не интересно. Было бы интересно, сделали бы сами хоть как-нибудь. Или хотя бы загуглили, как сделать. У вас же в коде нет и следов попыток решения.
durak22212, да всё понятно. Число не может быть равно строке. Или выполняйте сравнение с преобразованием типов, или вручную преобразуйте value в число перед сравнением, или сделайте элементы массивов строками вместо чисел.
А чо фильтровать-то? Почему вы скрываете эту информацию? Или надеетесь, что кто-то станет угадывать, как там ваши данные выглядят? Вряд ли так будет. Так что давайте-ка - пример полных данных, пример отфильтрованных данных. А лучше - ссылка на демо в песочнице.
Вам кажется, что i здесь - это индекс. Мне кажется другое - что это объект события клика. Пусть список параметров будет пустым: onClick={()=>this.handleOpen(i)}.
lenox94, не будет. Надо в качестве значения open передавать не сохранённый индекс, а результат его сравнения с текущим - так true будет не более одного.
мне нужно как раз таки чтобы объекты были в файле json
Источник данных к сути вашего вопроса не имеет отношения, ни малейшего. Ещё раз: данные загрузили - про json забыли, работаете с полученными объектами.