首页 > 解决方案 > 为什么我不能使用钩子在我的状态下设置值?

问题描述

我正在尝试通过函数在我的状态中设置数据......状态被称为值,这是我拥有的代码

 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()为我提供了我需要的数据,我可以看到它console.log()但是,当我尝试将数据设置为状态时,我只得到相同的初始状态...

标签: javascriptreactjsstatereact-hooks

解决方案


我在这句话前加了“等待”

console.log("resultado de useEffect mostrando los values",values)


推荐阅读