gpt4 book ai didi

javascript - React 函数式组件 - 说它不是一个函数

转载 作者:行者123 更新时间:2023-11-28 16:41:53 26 4
gpt4 key购买 nike

我正在使用 React 函数组件(实际上是学习 Hook ),因此在另一个函数中调用函数时我遇到一个问题

这是我的代码

我的功能组件

    const LiteraryPage = props => {
if (Object.keys(mainData).length === 0 && mainData.constructor === Object) {
setMainDataSection(validateData(mainData));
}
const validateData = async (data) => {
let finalDataArray = [];
if (data.cars !== undefined) {
finalDataArray = finalDataArray.concat(data.cars);
}
if (data.mobiles !== undefined) {
finalDataArray = finalDataArray.concat(data.mobiles);
}
if (data.scooters !== undefined) {
finalDataArray = finalDataArray.concat(data.scooters);
}
return finalDataArray;
};


}

但出现错误

未捕获类型错误:validateData 不是函数

如果有遗漏或有错误的地方,请纠正我。

最佳答案

当您调用验证数据和 setMainDataSection 时,您可能会直接在功能组件内部设置状态。

因此,首先您需要在使用之前定义 validateData,其次,您需要在 useEffect 中执行检查

const LiteraryPage = props => {
const validateData = async (data) => {
let finalDataArray = [];
if (data.cars !== undefined) {
finalDataArray = finalDataArray.concat(data.cars);
}
if (data.mobiles !== undefined) {
finalDataArray = finalDataArray.concat(data.mobiles);
}
if (data.scooters !== undefined) {
finalDataArray = finalDataArray.concat(data.scooters);
}
return finalDataArray;
};
useEffect(() => {
if (Object.keys(mainData).length === 0 && mainData.constructor === Object) {
setMainDataSection(validateData(mainData));
}
}, []);

}

关于javascript - React 函数式组件 - 说它不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61074390/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com