demo链接:https://codesandbox.io/s/char...
redux store定义在了src/store/store.js里,slicer在src/store/sizeSlice.js里。
刚刚入门redux,现在在App.js里使用了两个useSelector钩子,发现每次通过addCol或者addRow这两个组件更改redux状态时,会触发四次输入(期待应该是点击每一个按钮各触发对应的selector函数一次,而不触发另外的selector函数?),而且每次多余的触发都是另外的selector函数输出,例如点击addRow按钮,更改store中row状态,则selectCol会被触发三次。非常疑惑,期待解答!
你写在selector里的console意义不大,它只代表你selector调用了几次,而selector是useSelector的参数,具体怎么调用调用几次是源码实现的问题;
react中关心的是它的返回值,在App中
其实不看源码也能想象出为什么seletor函数会调用不只一次,我们去实现一个自定义hook(伪):