首页 > 解决方案 > setState 没有用 reactJS 定义

问题描述

我正在使用 reactJS 并且我正在尝试使用 setState 以便我可以使用该状态来确定图形需要旋转的方式,但我收到一条错误消息'setState' is not defined no-undef。我需要有一个构造函数来初始化状态吗?

代码:

class App extends React.Component {
    render() {
        const {rotate, setRotate} = setState(false)
        return (
            <div className="custom-container">
                <Tree 
                    data={data} 
                    height={600} 
                    width={1000}
                    svgProps={{transform: 'rotate(${rotate ? "90" : "0")'}} 
                />
                <button onClick={() => setRotate(!rotate)}>Rotate</button>
            </div>
        );
    }    
}

标签: javascriptreactjs

解决方案


如果您尝试使用“useState”而不是 setState,“useState”用于在功能组件中具有状态,您必须将类组件转换为功能组件,如下所示,然后使用“useState”

export default function App() {

        const [rotate, setRotate] = React.useState(false)
        return (
            <div className="custom-container">
                <Tree 
                    data={data} 
                    height={600} 
                    width={1000}
                    svgProps={{transform: 'rotate(${rotate ? "90" : "0")'}} 
                />
                <button onClick={() => setRotate(!rotate)}>Rotate</button>
            </div>
        );
}

推荐阅读