javascript - ReferenceError:初始化前无法访问 'search'

标签 javascript reactjs referenceerror

我不断收到此引用错误,但不知道出了什么问题。

ReferenceError:初始化前无法访问“搜索” 应用程序 C:/Users/GS66/Desktop/IN20/IFN666/week4/src/App.js:60 57 | 57 58 | 58导出默认函数 App() { 59 |

60 | const { loading, headlines, error } = useNewsArticles(search); 61 | const [search, setSearch] = useState(""); 62 | 63 | if (loading) {

这是 App.js 中的应用程序部分

export default function App() {
const {loading, headlines, error} = useNewsArticles(search);
const [search, setSearch] = useState("");

if (loading) {
    return <p>Loading...</p>;
}
if (error) {
    return <p>Something went wrong: {error.message}</p>
}

return (
    <div className="App">
        <h1>News Headlines</h1>
        <SearchBar onSubmit={setSearch}/> {
            headlines.map((headline) => (
                //headline is now an object
                <Headline key={headline.url} title={headline.title}/>
            ))
        }
    </div>
);

}

这是 api.js 中的 useNewsArticles 函数部分。

export function useNewsArticles(search) {
const [loading, setLoading] = useState(true);
const [headlines, setHeadlines] = useState([]);
const [error, setError] = useState(null);

useEffect(() => {
    (async() => {
        try {
            setHeadlines(await getHeadlines(search));
            setLoading(false);
        } catch (err) {
            setError(error);
            setLoading(false);
        }
    })();
}, [search]);

    return {
        loading,
        headlines,
        error,
    };

}

最佳答案

您正在第 3 行中初始化搜索并在第 2 行中使用。您应该执行相反的操作,例如

const [search, setSearch] = useState("");
const {loading, headlines, error} = useNewsArticles(search);

关于javascript - ReferenceError:初始化前无法访问 'search',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67251234/

相关文章:

javascript - 单击按钮时 jquery 复选框选中切换

javascript - ASP.NET ajax 控件工具包 ModalPopupExtender 问题与 div 溢出

python - 在两个独立的 Heroku 应用程序上将 API 请求从 React 前端代理到 Flask 后端

javascript - 如何过滤与 react 表中给定输入完全相等的值?

javascript - d3 未定义 - ReferenceError

javascript - 从网页写入本地磁盘

javascript - 改进 if 语句链

javascript - React-router:使用 <Link> 作为可点击的数据表行

javascript - AngularJS 单页应用程序 : Reference Error, ____ 未定义

javascript - new super.constructor 是 JavaScript 中的有效表达式吗?