react循环输出问题

var arr = [

        'JavaScript', 'ReactJS', 'React Native', 'AngularJS', 'NodeJS'
    ];
    var arr2 = [
        'one', 'two', 'three', 'four', 'five'
    ];
    var arr3 = [
        'Canvas', 'Three.js', 'CSS3 Animation', 'JQuery Animation', 'SVG'
    ];
    var datas = [];
    datas.push(arr, arr2, arr3);

    var Comp = React.createClass({
        render: function(){
            for(var i = 0; i < datas.length; i++){
                return (
                    <ul>
                        <li>one: {this.props.one[i][0]}</li>
                        <li>one: {this.props.one[i][1]}</li>
                        <li>one: {this.props.one[i][2]}</li>
                        <li>one: {this.props.one[i][3]}</li>
                        <li>one: {this.props.one[i][4]}</li>
                    </ul>
                );
            }
        }
    });

    ReactDOM.render(
        <Comp one={datas} />,
        document.querySelector('.demo')
    );

这个代码为什么不能遍历数组中的值,然后输出呢?如果想要输出数组中的值在对应的位置该怎么做?

阅读 10.7k
4 个回答

再循环里return了,还怎么循环?

for写在return里面,for前面加大括号来表示它是js语句

datas.map(function (item){return <li></li>})这样...

// 假设你了解underscore http://underscorejs.org/ ,如果不了解,用其他方案替代
var arr = [
    'JavaScript', 'ReactJS', 'React Native', 'AngularJS', 'NodeJS'
];
var arr2 = [
    'one', 'two', 'three', 'four', 'five'
];
var arr3 = [
    'Canvas', 'Three.js', 'CSS3 Animation', 'JQuery Animation', 'SVG'
];
var datas = [];
datas.push(arr, arr2, arr3);

var Comp = React.createClass({
    render: function(){
        return (
            <div>
                {_.map(datas, function(value, i){
                    return (
                        <ul key={i}>
                            <li>one: {this.props.one[i][0]}</li>
                            <li>one: {this.props.one[i][1]}</li>
                            <li>one: {this.props.one[i][2]}</li>
                            <li>one: {this.props.one[i][3]}</li>
                            <li>one: {this.props.one[i][4]}</li>
                        </ul>
                    );
                })}
            </div>
        );
    }
});

ReactDOM.render(
    <Comp one={datas} />,
    document.querySelector('.demo')
);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题