2015-12-14 56 views
0

我用一小段代碼重新創建了一個問題。基本上我想控制檯記錄組件prop的值。但它保持日誌記錄「未定義」反應道具價值日誌「未定義」

var Something = React.createClass({ 
    propTypes:{ 
     vouch: React.PropTypes.string 
    }, 

    render: function() { 
     return (
     <div> 
      <h1 onClick={this.props.onClick} vouch={this.props.vouch}>Click!</h1> 
     </div> 
     ); 
    } 
}); 
var List = React.createClass({ 
    log: function() { 
     console.log(this.props.vouch); 
    }, 
    render: function () { 
     return (
      <Something onClick={this.log} vouch="test" /> 
      ); 
    } 
}); 
ReactDOM.render(<List />, document.getElementById('react-app')); 

回答

0

你忘了把它與道具:保證?

<PeopleList vouch="test"> 

看來你誤解了,在你的代碼:

<h1 text="Increment!" onClick={this.log} vouch="Test">Click!</h1> 

你實際上是通過「測試」這沒有任何意義h1元素。

你也可以讓你的道具的要求,所以你可以看到錯誤在控制檯彈出,如果你不正確傳遞道具由:

propTypes:{ 
    vouch: React.PropTypes.string.isRequired 
}, 
+0

呀不要擔心H1東西,TNX完全忘了這一點 – CountGradsky

+0

如果我想在List組件中添加prop屬性而不是在最終的渲染中呢? – CountGradsky

+0

@ user3188464如果我理解正確,可以定義默認值。 –