ReactJS 3일차

3153 단어

propTypes 구성 요소의 속성 값이 요구 사항을 충족하는지 확인

        var Test = React.createClass({
            PropTypes: {
                title: React.PropTypes.string.isRequired
            },
            render: function() {
                return (
                    

{this.props.title}

) } }); var titleData = 111; ReactDOM.render( , document.querySelector('#display') );

반응 주의.PropTypes는 대문자로 시작합니다.

ref 실제 DOM

  • React는 가상 DOM의 구현 방식을 사용합니다. 즉, 모든 DOM이 가상 DOM에서 먼저 발생하고 실제 DOM에 반응하는 것입니다
  • 레이블에 사용ref="refName" 속성, 획득 시 사용this.refs.refName 실제 DOM 획득
  • this.refs.refName 가상 DOM을 문서에 삽입한 후에 사용해야 합니다. 그렇지 않으면 오류가 발생합니다
  • state 상태기

  • getInitialState 초기화 상태에 사용되며, 이 대상은 this.state를 통해 얻을 수 있으며, 따라서 대상의 속성도 this.state. 를 통해 얻을 수 있다
  • this.setState()를 통해 상태 값을 수정하고 수정할 때마다this를 자동으로 호출합니다.render () 메서드 어셈블리 다시 렌더링
  • state와props의 차이


    구성 요소의 특성을 설명하는 데 사용되며, this.props 정의되면 변하지 않는 특성을 나타내고, this.state 사용자의 상호작용에 따라 변화하는 특성을 나타낸다.

    양식과 onChange, setState, event.target.value 구현값 동기화


    입력 상자에 실시간으로 입력한 값은this를 사용할 수 없습니다.props.이벤트를 통해 onChange 이벤트의 리셋 함수를 정의합니다.target.value 사용자가 입력한 값을 읽습니다.textarea 원소,select 원소,radio 원소는 모두 이런 상황에 속한다
    var MyInput = React.createClass({
                getInitialState: function() {
                    return {
                        value: "input some words here"
                    };
                },
                inputHandleChange: function(e) {
                    this.setState({
                        value: e.target.value
                    });
                },
                render: function() {
                    return (    
                        

    {this.state.value}

    ); } }); ReactDOM.render( , document.querySelector('#display') );

    라이프 사이클


    라이프 사이클의 세 가지 상태

  • 마운팅된 실제 DOM
  • Updating 다시 렌더링 중
  • Unmounting 실제 DOM 제거됨
  • 라이프 사이클 호출 방법:

  • 초기화 단계:
  • getDefaultProps() 속성 초기화
  • getInitialState() 초기화 상태
  • componentWillMount() 마운트 준비
  • render() 렌더링
  • componentDidMount() 마운트 완료
  • 운영 단계:
  • componentWillReceiveProps() 구성 요소가 새 속성을 수신합니다
  • shouldComponentUpdate()에서 새 속성이나 상태를 보고 렌더링 여부를 판단합니다
  • componentWillUpdate() 렌더링 준비
  • render() 렌더링
  • componentDidUpdate() 렌더링 완료
  • 제거 단계:
  • componentWillUnmount() 마운트 해제 준비

  • 어셈블리 스타일

  • 잘못된 쓰기:
  •   style="opacity:{this.state.opacity};"
    
  • 올바른 시범:
  •   style={{opacity: this.state.opacity}}
    

    좋은 웹페이지 즐겨찾기