React - API 调用以设置多个状态变量(更好的选择)

React - API Call to set mutliple state variables (Better Alternatives)

我正在学习 React,在此过程中我试图在单个 useEffect 挂钩中设置多个状态变量。我只是想知道,如果我的方法是设置多个状态变量的正确方法。有更好的办法请大家看看指教

    import React, { useState, useEffect } from 'react';
    import axios from 'axios';

    const App = () => {
        const reqUrl = 'https://hn.algolia.com/api/v1/search?query=redux'
        const initialStateValue = [{ id: 0, value: ' --- Select A State --- ' }];

        const [initialJsonData, setInitialJsonData] = useState({ hits: [] });
        const [tagTypes, setTagTypes] = useState([]);
        const [stateSelected, setStateSelected] = useState(initialStateValue[0].value);


        useEffect(() => {
            axios(reqUrl).then(result => {
                const tagTypeLocal = { ...result.data.hits[0] }
                setTagTypes(tagTypeLocal._tags) --> setting the state variable tagTypes
                console.log(tagTypeLocal._tags)
                setInitialJsonData(result.data) --> setting the state variable initialJsonData
            })

        }, [])

是的,这是使用 useEffect 挂钩更新多个状态项的可接受实现。

为了解决对您的问题的评论之一,使用多个状态变量非常好,因为它们可能会按照您链接的 CodeSandbox 的建议在不同时间更新。其实这个方法在React docs.

中被推荐