Reactjs 当redux存储发生更改时,组件不会重新渲染
我在使用react挂钩的Redux saga时遇到问题。它明确声明useSelector将订阅Redux存储,并在调度操作时运行选择器 以下是我尝试更新的组件:Reactjs 当redux存储发生更改时,组件不会重新渲染,reactjs,redux,react-hooks,redux-saga,Reactjs,Redux,React Hooks,Redux Saga,我在使用react挂钩的Redux saga时遇到问题。它明确声明useSelector将订阅Redux存储,并在调度操作时运行选择器 以下是我尝试更新的组件: import React from 'react'; import { useSelector} from "react-redux"; const InfoPage = () => { const summoner = useSelector(state => state.summoner); const
import React from 'react';
import { useSelector} from "react-redux";
const InfoPage = () => {
const summoner = useSelector(state => state.summoner);
const loading = useSelector(state => state.loading);
console.log(loading,summoner) {*/Both undefined and only gets called once*/}
if(!summoner){
return <div>Loading...</div>
}
return(
<div>
{summoner.name}
</div>
)
}
export default InfoPage;
当我分派操作以获取召唤器时,该组件将通过history.push“/infopage”调用,当成功获取召唤器时,它将再次分派另一个操作。如果我理解正确,应该重新提交我的信息
My redux store在获取后具有值,但InfoPage不会重新提交,以下是最后一种状态:
这也是我的减速机
我发现了问题。。。我忘了我的saga减速机在出口时叫做saga。所以要解决这个问题,我必须改变:
const summoner = useSelector(state => state.summoner);
到
你有沙盒演示吗?没有,我真的不知道怎么做:
const summoner = useSelector(state => state.saga.summoner);