Я загружаю данные о начальной загрузке. Когда пользователь нажимает кнопку, чтобы добавить распознавание, вызов API добавляет его и возвращает. Я добавляю новое сообщение в массив, но новое обновление не отображается. Возвращаемый объект и массив объектов имеют одинаковый тип объекта. Когда я перезагружаю страницу, новое сообщение отображается, но не в функции добавления. Есть что-то, чего мне не хватает?
const [recognitions, setRecognitions] = useState([]);
useEffect(() => {
Api.GetRecognitions(params)
.then(response => {
const items = response || [];
setRecognitions(recognitions => [...recognitions, ...items]);
})
}, [setRecognitions]);
const handleAddPost = () => {
Api.AddRecognition(params)
.then(response => {
const newPost = response;
setRecognitions(recognitions=> [...recognitions, newPost])
});
}
<Form.Group>
<Form.Field>
<Button basic color='blue' onClick={handleAddPost}>Add</Button>
</Form.Field>
</Form.Group>
<Form.Group>
<Form.Field>
{recognitions.map(recognition => (
<RecogWallPost
key={recognition.recogStagingId}
recognition={recognition}
participantId={participantId}
/>
)
)}
</Form.Field>
</Form.Group>