#reactjs #use-state
Вопрос:
У меня есть небольшой вопрос. Давайте предположим, что этот код
const [ChatDetailsRender, setChatDetailsRender] = useState([]);
//ChatDetailsRender it s equal= {10,20}
array=[1,2,3,4]
array.forEach((nr)=>{
setChatDetailsRender();
//here some code to add the array for each value in useState})
Это простой пример того, что я хочу сделать, и у меня есть некоторые трудности, потому что у меня также есть некоторые вызовы базы данных. Все выглядит нормально, но как я могу обновить данные о пользователях ChatDetails без перезаписи данных? например, просто объединить эти 2 массива. Извините, я думаю, что эти вопросы уже были здесь, но все, что я могу найти, это примеры с объектами в useState, и мой пример содержит всего лишь простой массив. Спасибо.
Ответ №1:
Вы можете связать новое значение с существующим значением во время обновления и использовать подход обратного вызова для задания состояния.
const [ChatDetailsRender, setChatDetailsRender] = useState([]);
//ChatDetailsRender it s equal= {10,20}
array=[1,2,3,4]
setChatDetailsRender(previousChatDetails => previousChatDetails.concat(array));