gpt4 book ai didi

javascript - React Hook "useState"在函数 "setResults"中调用,该函数既不是 React 函数组件也不是自定义 React Hook 函数

转载 作者:行者123 更新时间:2023-11-29 22:57:04 26 4
gpt4 key购买 nike

我正在尝试在作为 react Hook 的功能组件中进行 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 的操作中。

  1. searchUser 正在调用操作并成功获取数据,但我不确定为什么状态会更新 - 我收到以下错误 -

React Hook "useState" is called in function "setResults" which is neither a React function component or a custom React Hook function react-hooks/rules-of-hooks

  1. 作为第二个替代方案,我试图从 searchUser 返回值并在下面的函数中访问它,但仍然没有用

我是 hook 的新手,任何帮助/指点都会有帮助。

最佳答案

你需要把首字母大写 setResults => SetResults

function SetResults(textInput) {
const [data, setData] = useState({ users: [] });
searchUser(textInput).then(result => {
useEffect(() => {
searchUser(textInput).then(result => {
setData(result.users);
});
}, []);
});
}

关于javascript - React Hook "useState"在函数 "setResults"中调用,该函数既不是 React 函数组件也不是自定义 React Hook 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56462812/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com