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

标签 javascript reactjs react-hooks use-effect

我正在尝试在作为 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/

相关文章:

javascript - 你如何用 Javascript 为 TypeScript Compiler 编写 JSDoc?

reactjs - 我应该将 setState 包含在 useCallback 的依赖项数组中吗?

javascript - React Hooks 中的正则表达式

javascript - 当通过 Javascript 按下回车按钮时调用一个函数

javascript - React Native - "undefined is not an object (evaluating ' MyApp.navigation.openDrawer')

javascript - 如何作为 e.target 获取指定 onClick 的确切元素?

javascript - 自动扩展行和子行使用钩子(Hook) react 表

javascript - 为什么它已经是一个窗口属性?

c# - asp.net webform 打印一致性

javascript - 在 div onclick 之后更新 Redux prop/state