我在反应中使用道具。并发现了这个
var App = React.createClass({
render: function(){
var t = this.props.txt;
return(<div>
<h1> {t}</h1>
</div>);
},
});
React.render(<App txt="hi"/>, document.body);
由于变量t在render函数内部,因此效果很好。但是当把t放在这样的render函数之外时
var App = React.createClass({
// position of t is shifted here
var t = this.props.txt;
render: function(){
return(<div>
<h1> {t}</h1>
</div>);
},
});
React.render(<App txt="hi"/>, document.body);
这是行不通的。由于我直接在React.render中调用App,而不是在函数render中调用,所以我希望App应该有可用的道具。我想念什么?
我不太确定您为什么期望此方法有效。那只是无效的JavaScript。您不能将变量声明放在对象文字中。您正在做的简化示例:
var foo = { var bar = 42; };
这是语法错误。我建议阅读JavaScript教程以了解有关对象的更多信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句