React router 4 does not update view on link, but does on refresh

前端 未结 4 1981
暖寄归人
暖寄归人 2020-12-01 17:28

I am using the following simple nav code


  
    
    

        
相关标签:
4条回答
  • 2020-12-01 18:07

    This is because react-redux connect method implements shouldComponentUpdate which will cause component not to render when props didn't change. And this is conflicting now with react-router 4.

    To avoid it you can pass {pure: false} to connect as described in react-redux troubleshooting section.

    Another way is to use withRouter HOC or pass location prop like described in DOCS.

    0 讨论(0)
  • 2020-12-01 18:18

    You can also use the:

    import { withRouter } from 'react-router-dom';
    

    And then on your export default, you do like this:

    export default withRouter(connect(mapStateToProps, {})(Layout));
    

    Because when you have an export connect, you need to tell that that component will be using the router.

    0 讨论(0)
  • 2020-12-01 18:31

    I had my Navlinks in a stateless-component (or dumb component) and a container to control the collapse-state of my navbar.

    after switching the navbar-container from PureComponent to Componentit solved the problem for me.

    0 讨论(0)
  • 2020-12-01 18:32

    I have encountered this problem. I resolve it by add attribute key to component Switch with value is a location pathname and location search.

    0 讨论(0)
提交回复
热议问题