react-intl更新lang时引起路由变更报错

}>

lang是保存在redux store里面的,用户可以通过页面操作去变更lang,然而变更的时候浏览器会报错如下:

image.png

You cannot change ; it will be ignored
报错原因:IntlProvider包在router的外面,lang的变更会引发内部render,但是路由列表实际没有变化,于是响应路由器报错了。
解决办法:在上设置key值,来强制创建新实例并重新呈现它下面的所有内容,也就不存在路由变更的问题了。

你可能感兴趣的:(react-intl更新lang时引起路由变更报错)