有没有办法实现这个想法:
我想在渲染之前做一些检查。如果check是true而不是render。但是如果检查是错误的,那么首先我需要做setState
,并且只能在渲染之后。
感谢。
答案 0 :(得分:2)
我认为componentWillMount()
字面意思是你所追求的,但把它放在constructor()
可能是一个更好的地方。
class MyComponent extends React.Component {
constructor(props) {
super(props);
if (theCheck() === false) {
this.state = {
// ...
}
}
}
}
答案 1 :(得分:0)
首先尝试渲染它,然后进行检查并使用componentDidMount()
更改它已经渲染的状态。不用担心,它很快就会让您的眼睛看不到它的到来。该代码将如下所示:
class MyApp extends React.Component {
componentDidMount() {
if (CHECK HERE) {
this.setState({state : stateValue})
}
}
}