React:在渲染之前执行一些检查

时间:2016-10-23 08:24:47

标签: reactjs rendering

有没有办法实现这个想法:

我想在渲染之前做一些检查。如果check是true而不是render。但是如果检查是错误的,那么首先我需要做setState,并且只能在渲染之后。

感谢。

2 个答案:

答案 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})
     }
   }
 }