当前位置: 首页 > 知识库问答 >
问题:

React Hook“usestate”在函数“setresults”中调用,该函数既不是React函数组件,也不是自定义React Hook函数

白博易
2023-03-14

我试图在一个功能组件中进行API调用,它是一个react-hook,并基于结果,重新呈现组件的内容。代码如下:

调用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正在调用操作并成功获取数据,但我不确定为什么状态会更新--我得到了以下错误-

共有1个答案

黄和怡
2023-03-14

您需要将第一个字母大写为setResults=>setResults

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