이 아이디어를 구현하는 방법은 다음과 같습니다.React : 렌더링하기 전에 몇 가지 검사를 실행하십시오.
렌더링하기 전에 확인하고 싶습니다. check보다 렌더링이 틀린 경우. 하지만 검사가 거짓이면, 우선 나는 setState
을해야하고, 렌더링 후에 만해야합니다.
감사합니다.
이 아이디어를 구현하는 방법은 다음과 같습니다.React : 렌더링하기 전에 몇 가지 검사를 실행하십시오.
렌더링하기 전에 확인하고 싶습니다. check보다 렌더링이 틀린 경우. 하지만 검사가 거짓이면, 우선 나는 setState
을해야하고, 렌더링 후에 만해야합니다.
감사합니다.
나는 componentWillMount()
이 문자 그대로 당신이 무엇을하고 있는지 생각하지만, constructor()
에 넣는 것이 더 좋은 장소 일 수 있습니다.
class MyComponent extends React.Component {
constructor(props) {
super(props);
if (theCheck() === false) {
this.state = {
// ...
}
}
}
}
수퍼는 무엇입니까? 그리고 왜 우리는 ** setState **가 아닌 ** state **를 사용합니까? –
'super()'는 확장 한 클래스에서 원래 생성자 함수를 호출합니다. 이 경우'React.Component'의 생성자를 호출합니다. 'setState()'는 상태가 변경 되었기 때문에 React에게 컴포넌트를 다시 렌더링해야한다고 알려주는 방법입니다. 'this.state' 만 업데이트하면 어떤 차이점도 발견되지 않습니다. 구성 요소가 아직 렌더링되지 않았기 때문에 생성자에서'this.state'를 사용하는 것이 유효합니다. – casr
아마도'componentDidMount() {}'안에 있습니까? –
'render() {}'는 setState를위한 장소가 아닙니다. 컴포넌트 라이프 사이클 메소드에서 상태를 처리해야합니다 : https://facebook.github.io/react/docs/react-component.html – kouak
이 질문을했다. 내 crome 렌더링에'setState' 사용에 대한 실수를 제공합니다. –