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之外,你会在那里看到更新值