这是我尝试删除...state
并用下面的注释替换的代码,但是在分派时出现错误,下面的代码不起作用
props.add();
// props.add();
// props.add();
return (
// <div className="container">
// <BrowserRouter>
// <Nav />
// <Switch>
// <Route path="/reg" component={Reg} />
// <Route path="/log" component={Log} />
// </Switch>
// </BrowserRouter>
// </div>
);
}
let mapStateToProps = (state) => {
return {
...state
// counter: state.counter,
// bool: state.bool,
}
}
let mapDispatchToProps = (dispatch) => {
return {
add: () => dispatch(add()),
rem: () => dispatch(rem()),
pos: () => dispatch(pos()),
neg: () => dispatch(neg())
}
}
export default connect(mapStateToProps, mapDispatchToProps)(App);
答案 0 :(得分:1)
看起来add
方法位于render方法中,因此每次渲染此组件时都会调用此方法。反过来,这将更新存储并重新渲染导致无限调用的组件。
您要在这里实现什么?尝试将add
呼叫移至按钮单击或componentDidUpdate
中,以防止无限呼叫。