react + dva 获取不到state的问题

香菊网 发表于: 2019-05-17 分类: js部分  前端front  

 

在react+dva 开发的时候,遇到了一些小问题在此总结,希望有用

 

问题:想用全局model保存的state来给组件state一个初始值,但组件中取不到登录后异步获取的用户信息。但在组件使用时render中可以console出需要的值

解决办法就是

1、render 中 获取到想要的值 然后 setState  

但直接在render中使用setState很明显是会出错的,修改状态触发重新渲染,渲染中修改状态,又重渲染的死循环setState -> render -> setState -> render... ...

2、在父组件中获取到这个值之后 , 再加载这个子组件 ,然后子组件初始的时候就能获取到这个值

{
  modelName.show && <ComponentName/> 
}


//或者
{
  modelName.show ? <ComponentName/> : null
}
标签: js部分前端front
Copyright © 2019 幻雨焉缘博客 | 浙ICP备19001843号-1
----------------------------------
种一棵树,最好的培养时间是十年前,其次是现在 加油  (ง •_•)ง。        ──── 前端攻城狮