2016-07-23 2 views
0

마법사 폼을 만들고 있는데 tableResults라는 첫 번째 구성 요소를로드 할 수 없습니다. 구성 요소에 따라 단계가 변경되는 상태가 있습니다. 현재 단계의 초기 상태는 1로 설정되어 있습니다. 상태가 1 일 때 tableResults가 표시되게하려면 어떻게해야합니까?구성 요소 인스턴스화하기

Step1.js는

import tableResults from './tableResults'; 

class Step1 extends Component { 
    constructor(props) { 
     super(props); 
    this.state = { 
     step: 1 
    } 
    } 


render() { 
    const { 
    handleSubmit, 
    previousPage, 
    step 
    } = this.props; 


    return ( 
     <form onSubmit={handleSubmit}> 

     <div className="step-container"> 

      {step === 1 && <tableResults/>} 
      </div> 
     </form> 
    ); 
    } 
} 

표 발췌문 니펫을 :

import React, { Component, PropTypes } from 'react' 

class tableResults extends Component { 
    constructor(props) { 
    super(props) 
    } 

    render() { 

    return ( 
     <div> 
     This is the table 
     </div> 
    ); 
    } 
} 

답변

2

당신은 소품의 상태를 받고 있지만, 다음과 같이 대신 상태에서 그것을 얻을해야합니다

import tableResults from './tableResults'; 
 

 
class Step1 extends Component { 
 
    constructor(props) { 
 
     super(props); 
 
    this.state = { 
 
     step: 1 
 
    } 
 
    } 
 

 

 
render() { 
 
    const { 
 
    handleSubmit, 
 
    previousPage, 
 
    step 
 
    } = this.props; 
 

 

 
    return ( 
 
     <form onSubmit={handleSubmit}> 
 

 
     <div className="step-container"> 
 

 
      {this.state.step === 1 && <tableResults/>} 
 
      </div> 
 
     </form> 
 
    ); 
 
    } 
 
}

+0

감사합니다. 그 트릭을했다고 생각하지만, 내 tableresults 구성 요소가 나타나지 않습니다. 이 코드가 맞습니까? – lost9123193

+0

구성 요소 이름을 첫 글자를 대문자로 지정하십시오. 그때 작동합니다. –

+0

고마워요, 그건 속임수 였어! – lost9123193

관련 문제