React.js组件中的select元素需要2次点击才能在Firefox中更新,但在Chrome和Safari中首次点击时会正确更新。
它是使用Redux + React-Redux的组件,select元素的值由通过mapStateToProps传递给它的商店值决定。
React Devtools显示正确更新select元素的值,但DOM本身在第一次单击时不会更新。
Redux Devtools显示正在传递的正确操作并正在进行正确的状态更改。
我在CodeSandbox中创建了一个独立的组件树重新创建(它在这里正常运行,所以没有太多帮助):https://codesandbox.io/s/jl7rpw3635
提前致谢!
答案 0 :(得分:1)
我最终解决了这个问题,方法是修改select组件以在mount上呈现其选项,然后将它们附加到类属性,避免每次select组件更新时再次重新呈现每个选项(它们永远不会改变,所以它可能会使这样做的意义) - https://codesandbox.io/s/m7m2qqp9py