在火狐中,React.js组件中的select元素需要2次单击才能更新,但是在Chrome和Safari中第一次单击就可以正确地更新。
它是一个使用Redux +React的组件,select元素的值由通过mapStateToProps传递给它的存储值决定。
显示了select元素的值,但DOM本身在第一次单击时就没有更新。
显示正在传递的正确操作和正在进行的正确状态更改。
我在CodeSandbox中创建了组件树的独立更新(它在这里正确地工作,所以没有多少帮助):https://codesandbox.io/s/jl7rpw3635
提前感谢!
发布于 2018-01-19 09:59:42
我最终解决了这个问题,修改了select组件以在挂载上呈现其选项,然后将它们附加到一个类属性中,避免每次选择组件更新时重新呈现每个选项(它们永远不会更改,因此这样做可能是有意义的)- https://codesandbox.io/s/m7m2qqp9py。
https://stackoverflow.com/questions/48340798
复制