react-navigation 跳转路由,旧页面数据状态问题?

场景:

  1. 小说详情页面,在componentDidMount时,根据路由参数book_id请求数据接口渲染页面。
  2. 在小说详情页有一个推荐小说区域,点击通过navigation.navigate('Detail', {book_id: book.book_id})}继续跳转至详情页 通过book_id获取新的小说数据。

问题:
重复进入小说详情后,发现返回后的详情页 数据都是一样的了

请问这个怎么处理,在render上打印log后发现跳转了10次详情页后 前面9次也会跟着render,并且重新去根据最新的id请求数据,导致所有的页面都变成一样的了。

阅读 4.9k
1 个回答

用componentWillReceiveProps截取一下是哪个prop变了, 我猜是navigation.state.params, 根本原因还是得找react-navigation报bug, 不想那么麻烦的话简单解决直接用shouldComponentUpdate定死book_id

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题