2017-03-23 2 views
1

'내 코드의 버그를 찾으십시오.'질문에 대한 사과, 그러나 나는 React로 그립에 도전하려고 애 쓰고 있습니다.반응 구성 요소에 소품을 전달하려면 어떻게해야합니까?

내가 반응의 구성 요소에 hashRoute라는 변수를 전달하기 위해 노력하고있어,하지만 난 방법을 렌더링 구성 요소 내에서 this.props.route를 사용하여 소품에 액세스하려고 할 때마다, 내 말은 브라우저 경고를 얻을 :

" 경고 :. 태그에 알 수없는 소품 route는 요소에서이 소품을 제거

내 구성 요소 :.

var App = React.createClass({ 
    render: function(){ 
     var Child; 
     switch(this.props.route) 
     { 
      case 'about': 
       Child = about; 
       break; 
      default: 
       Child = Home; 
       break; 
     } 

     return (
      <div> 
       <Child/> 
      </div> 
     ); 
    } 
}); 

호출 기능 : 나는 분명히 뭔가 잘못 ddoing있어

function render(){ 
    var hashRoute = window.location.hash.substr(1); 
    ReactDOM.render(<app route = {hashRoute} />, document.getElementById('app')); 
} 

window.addEventListener('hashChange', render); 

,하지만 난 완전히 확실 무엇인지 모르겠어요. 또한 <app {...hashRoute} /><app route = {hashRoute} /> 교체 확산 구문을 (사용하여 시도했지만 그때 다른 브라우저 경고 React.__spread is deprecated and should not be used.

어떤 아이디어가 크게 감상 할 수있다라고 나에게 이야기를 얻을 수

답변

4

구성 요소 반응에 대해 조금 알려진 사실을 :. 구성 요소의 이름은 대문자로 시작해야합니다 (div, span 등의 React에서 HTML 용으로 예약 된 구성 요소와 구분해야 함)

+0

와우. 글자. 모든 페이지에서 깜박임 – KidCode

+0

문서화되었지만 생각하는 부분이 아닙니다. 구성 요소 섹션이 아닌 JSX 섹션에 있습니다 .https : // fac ebook.github.io/react/docs/jsx-in-depth.html#user-defined-components-must-be-capitalized –

관련 문제