前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >react-redux useSelector的坑

react-redux useSelector的坑

作者头像
biaoblog.cn 个人博客
发布2023-07-24 15:50:28
2280
发布2023-07-24 15:50:28
举报

在使用react hooks的开发过程中

我们有个从仓库取值并监听仓库值变化的需求

之前我们使用的是常规的react-redux的 connect - mapStateToProps

代码语言:javascript
复制
import { useSelector, connect } from 'react-redux'

const mapStateToProps = (state) => {
  return {
    newSearchOptions: state.controller.newSearchOptions.toJS(),
  }
}

监听仓库值的变化
  useEffect(() => {
    console.log('newSearchOptions:', newSearchOptions)
  }, [newSearchOptions])

export default connect(mapStateToProps)(SearchResultCommon)

取值方面我们想方便一点 就使用了useSelector

代码语言:javascript
复制
 const newSearchOptions = useSelector((state) =>
    state.controller.newSearchOptions.toJS()
  )

但是坑来了。。我们在监听仓库值变化的时候,页面就开始无限循环了

因为此时的useSelector 被当作是页面的state,如果在useEffect中更新state,就会无限循环。。

所以只能使用上面的方式进行仓库值的变化监听...

看来有时候还是不能省事啊

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档