Reactjs “反应钩”;“使用状态”;无法在类组件中调用
不能在类组件中调用React挂钩“useState”。必须在React函数组件或自定义React钩子函数React钩子/钩子规则中调用React钩子 这是我的密码:Reactjs “反应钩”;“使用状态”;无法在类组件中调用,reactjs,Reactjs,不能在类组件中调用React挂钩“useState”。必须在React函数组件或自定义React钩子函数React钩子/钩子规则中调用React钩子 这是我的密码: import './App.css'; import { Row, Col, Container } from 'react-bootstrap'; import ListGame from './components/ListGame'; import Konten from './components/Konten'; impo
import './App.css';
import { Row, Col, Container } from 'react-bootstrap';
import ListGame from './components/ListGame';
import Konten from './components/Konten';
import NavbarComponents from './components/NavbarComponents';
import Sidebar from './components/Sidebar';
import { GiHamburgerMenu } from 'react-icons/gi';
import { useState } from 'react';
import React, { Component } from 'react'
export default class App extends Component {
render() {
const [ showNav, setShowNav] = useState(false)
return (
<div className='App'>
<navbar><NavbarComponents /></navbar>
<header>
<GiHamburgerMenu onClick={() => setShowNav(!showNav)}/>
</header>
<Sidebar show={showNav}/>
<div className="mt-3">
<Konten show={showNav}/>
</div>
</div>
)
}
}
import'/App.css';
从'react bootstrap'导入{Row,Col,Container};
从“./components/ListGame”导入ListGame;
从“./components/Konten”导入Konten;
从“./components/NavbarComponents”导入NavbarComponents;
从“./components/Sidebar”导入侧栏;
从'react icons/gi'导入{GiHamburgerMenu};
从“react”导入{useState};
从“React”导入React,{Component}
导出默认类应用程序扩展组件{
render(){
const[showNav,setShowNav]=useState(false)
返回(
设置显示导航(!显示导航)}/>
)
}
}
是,您只能在使用挂钩的功能组件中使用setState
在类组件中,在render
方法上方,应该像这样初始化状态:
constructor() {
super();
this.state = {
showNav: false
};
}
您可以通过执行以下操作来切换showNav值:
render() {
return (
<div className='App'>
<navbar><NavbarComponents /></navbar>
<header>
<GiHamburgerMenu onClick={() => this.setState({ showNav: !this.state.showNav })} />
</header>
<Sidebar show={this.state.showNav}/>
<div className="mt-3">
<Konten show={this.state.showNav}/>
</div>
</div>
)
}
render(){
返回(
this.setState({showNav:!this.state.showNav})}/>
)
}
这是否回答了您的问题?我想应该是这样this.setState({showNav:!this.state.showNav})}/>
噢,是的,没错!我尝试了你的两个代码,但现在我面临新的错误,他说:第25:22行:“showNav”没有定义no undef,这应该是什么?哦,你需要更改
和
,我现在更新了我的答案,成功了!:)谢谢你的帮助!!