小编Chr*_*ter的帖子

“传递给 useEffect 的最后一个参数在渲染之间改变了大小”,但我认为它不会?

我认为我以前从未收到过此错误:

传递给 useEffect 的最后一个参数改变了渲染之间的大小。此数组的顺序和大小必须保持不变。

我已经完成了useEffect()100 次axios 请求,使用useEffect()方式与 类似componentDidMount(),但这是我第一次使用带有async/的可重用函数await,并将数据解析回useEffect(). 网上的其他人在他们的教程中也在做同样的事情,但他们从未提到过这个错误。

const [tableData, setTableData] = useState([])
    useEffect(() => {
        const data = async() => {
            const dataArr = await getPagList('tags', 1, 25)
            console.log("Data received: ", dataArr)
            if(dataArr.length > 0) {
                setTableData(dataArr)
            }
        }
        data()
    }, [])
Run Code Online (Sandbox Code Playgroud)

我相信,它在抱怨我useEffect()作为第二个参数提供的空数组。然而,那个空数组并没有改变……对吧?我尝试使用谷歌搜索它,但我为这个错误找到的解决方案是我已经在做的。没有一个例子使用async/ await

我也试过这个,没有成功:

    useEffect(() => {
        setData()
    }, [])

    const setData = () => {
        const data = async() …
Run Code Online (Sandbox Code Playgroud)

javascript async-await reactjs axios react-hooks

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

async-await ×1

axios ×1

javascript ×1

react-hooks ×1

reactjs ×1