Javascript 为什么可以';我不能使用钩子在我的状态中设置值吗?
我正试图通过一个函数在我的状态下设置数据。。。状态被称为值,这是我的代码Javascript 为什么可以';我不能使用钩子在我的状态中设置值吗?,javascript,reactjs,state,react-hooks,Javascript,Reactjs,State,React Hooks,我正试图通过一个函数在我的状态下设置数据。。。状态被称为值,这是我的代码 const [values, setValues] = useState({ about:'',ourServiceBuyer:'',ourServiceSupplier:'',faq:[],products:[] }); useEffect(() => { async function handleData() { try { const result = awai
const [values, setValues] = useState({
about:'',ourServiceBuyer:'',ourServiceSupplier:'',faq:[],products:[]
});
useEffect(() => {
async function handleData() {
try {
const result = await LandingData()
console.log('algo',result.data.landing.about_us )
setValues({
about:result.data.landing.about_us,
ourServiceBuyer:result.data.landing.our_services_supplier,
ourServiceSupplier :result.data.landing.our_services_supplier,
faq : result.data.landing_page_faq,
products:result.data.products,
});
console.log("resultado de useEffect mostrando los values",values)
console.log("resultado de useEffect", result);
} catch (e) {
console.error('error in obatin the return of LandingData: ', e.message);
handleRedirect('/WrongRequest');
}
}
handleData()
}, []);
landingData()
为我提供了所需的数据,我可以通过控制台.log()查看数据,但是,当我尝试将数据设置为状态时,我没有得到任何东西,只有相同的初始状态…我在这句话前面加上了“等待”
log(“resultado de use effect mostrando los values”,values)我在这句话前面加了“wait”
console.log(“resultado de useffect mostrando los values”,values)将状态设置为react is async,以便在到达itI的“console.log”时不会更改状态。我看不到此代码有任何明显错误。你能提供一个复制问题的方法吗?试着将控制台置于useEffect之外,你会看到更新值,将状态设置为react是async的,这样当到达你的itI“console.log”时,状态不会改变。我看不到这段代码有任何明显的错误。你能提供一个复制问题的方法吗?试着把控制台放在useEffect之外,你会在那里看到更新值