我不知道“useSelector”是怎么回事,我需要一点帮助,谢谢。
错误
React Hook“useSelector”在函数“render_user”中被调用,它既不是 React 函数组件也不是自定义 React Hook 函数
class Navigationbar extends Component {
onLogoutClick = e => {
e.preventDefault();
this.props.logoutUser(); //this.props.
};
render() {
const render_user = () => {
const auth = useSelector(state => state.auth); Error Message is here
//More Code Here
);
};
}
Navigationbar.propTypes = {
logoutUser: PropTypes.func.isRequired,
auth: PropTypes.object.isRequired
};
const mapStateToProps = state => ({
auth: state.auth
});
export default connect(
mapStateToProps,
{ logoutUser }
)(Navigationbar);
原文由 bpdg 发布,翻译遵循 CC BY-SA 4.0 许可协议
该错误是由于您违反了 钩子规则:
违规行为:
useSelector()
不在顶层调用。它在render_user()
中调用render()
(即嵌套函数)。useSelector()
是类组件的一部分,Navigationbar
您可以提取组件以遵循挂钩规则并使用
useSelector
: