反应中的类变量和函数变量之间有什么区别

时间:2015-06-24 05:53:16

标签: javascript reactjs

我在反应中使用道具。并找到了这个

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在渲染函数中。但是当放在渲染函数之外时,就像这样

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而不是函数渲染,我希望App应该有可用的道具。我错过了什么?

1 个答案:

答案 0 :(得分:3)

我不太清楚为什么你希望这个有效。这只是无效的JavaScript。您无法在variable declaration内加object literal。您正在做的简化示例:

var foo = { var bar = 42; };

这是语法错误。我建议read a JavaScript tutorial to learn more about objects