Я пытаюсь выполнить API-вызов в функциональном компоненте, который является обработчиком реакции и на основе результата повторно отображает содержимое компонента. Вот код:
Компонент, который вызывает API-
function IntegrationDownshift() {
render(
<Paper square>
{setResults(inputValue).map(
(suggestion, index) =>
renderSuggestion({
suggestion,
index,
itemProps: getItemProps({
item:
suggestion.userFullName
}),
highlightedIndex,
selectedItem
})
)}
</Paper>
);
}
Вот функция setResults
:
function setResults(textInput) {
const [data, setData] = useState({ users: [] });
searchUser(textInput).then(result => {
useEffect(() => {
searchUser(textInput).then(result => {
setData(result.users);
});
}, []);
});
}
Я пытаюсь получить данные о состоянии и перерисовать мой компонент на основе этих данных.
Здесь searchUser
находится в действии, которое вызывает внешний API.
-
searchUser
вызывает действие и извлекает данные успешно, но я не уверен, почему состояние обновляется - я получил ошибку ниже -
React Hook "useState" вызывается в функции "setResults", которая
ни компонент функции React, ни пользовательская функция React Hook
реагировать-крюки / правила из-крючков
- В качестве второго альтернативного варианта я пытаюсь вернуть значения из searchUser и получить к нему доступ в приведенной ниже функции, но все равно бесполезно
Я новичок в хуках, и любая помощь / указатели будут полезны.