为什么我不能使用挂钩在状态中设置值?

时间:2019-05-31 15:03:34

标签: javascript reactjs state react-hooks

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

 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()看到它,但是,当我尝试将数据设置为状态时,我得到的东西并不相同初始状态...

1 个答案:

答案 0 :(得分:0)

我在这句话前加上“ await”

console.log(“影响使用效果的结果”,值)