【发布时间】:2020-10-16 11:47:51
【问题描述】:
我正在用一个对象设置一个 radux 状态,从存储中获取值并在屏幕上打印它
我正在使用useState 并使用useEffect
const AvatarContainer = (props) => {
const [infos, setinfos] = useState(undefined);
useEffect(() => {
console.log('in effects')
setinfos(() => props.userInfos)
}, [props.userInfos]);
props.saveUserInfos(authContext.getCachedUser())
const mapStateToProps = (state) => {
return ({
userInfos: state.reportingActions.userInfos,
})
}
const mapDispatchToProps = (dispatch) => {
return ({
saveUserInfos: (Avatar) => dispatch(saveUserInfos(Avatar))
})
}
减速器
case 'SAVE_USER_INFOS':
return {
...state,
userInfos: Object.assign({}, action.payload.userInfos
}
动作
export const saveUserInfos = userInfos => {
return ({
type: 'SAVE_USER_INFOS',
payload: {
userInfos
}
})
}
我收到此错误
已超过最大更新深度。当组件在 componentWillUpdate 或 componentDidUpdate 中重复调用 setState 时,可能会发生这种情况。 React 限制了嵌套更新的数量以防止无限循环。
【问题讨论】:
标签: javascript reactjs redux