скрин с деталями заказа?
Как приходят заказы?
Зачем некоторые прятать?
1. список заказов и по нажатию открывать скрин с деталями заказа 2. orders === [{ creator_name, creator_id, orders: [ <order_datails> ] },...] 3. клиент хочет такую реализацию
Зачем тут вообще юзстейты? Делаете скрин который через навигацию принимает айдишник, в этом скрине фильтруете стор заказов по айдишнику и выводить необходимый интерфейс
привет. {reportsByMonth.creators.canceled.map((item, i) => { return ( <Item key={i}> <DisplayedTextMonth>{item.creator_name}</DisplayedTextMonth> <ReportView> <DisplayedText>{item.total}</DisplayedText> <TouchableHighlight underlayColor='#3897F0' onPress={() => { orderIndex === null ? setOrderIndex(i) : setOrderIndex(null) }}> <View> <MaterialIcons color={orderIndex === null ? 'grey' : 'green'}/> </View> </TouchableHighlight> </ReportView> {orderIndex === null ? <Item></Item> : reportsByMonth.creators.canceled[orderIndex]?.orders.map((elem, index) => { return ( <Item key={index}> <DisplayedTextMonth>{elem.fullName}</DisplayedTextMonth> <ReportView> <DisplayedText>{new Date(elem.from_date).getDate()} {shortMonthNames[new Date(elem.from_date).getMonth()]}</DisplayedText> </ReportView> </Item> ) }) } </Item> ) })} код выше выводит список пользователей и при нажатии на определенный пользователь, то выводит все его заказы(например, у него 64 заказа). но проблема в том, что при нажатии на определенного пользователя, то выводиться все заказы одного пользователя для всех пользователей. то есть у всех пользователей по 64 заказов.
Вместо index используй uuid() либо item.id
Не вместо индекса, а дату промапить надо с uuid Иначе если вызывать uuid при рендрениге, то при ререндере будет новый айдишник создаваться и компоненты будут перемонтироваться
<View key={uuidv4()} style={styles.imageWrapper}>
Ребят, у вас при ререндере будут вызывать всегда функция и каждый раз новый айдишник и новая дата, в этом смысла нет
Я сделал item + index, item у меня url
Обсуждают сегодня