初学reactJs,想动态添加两个按钮

运行程序出现图片描述这样的错误。完整代码如下:
<!DOCTYPE html>
<html>
<head>

<meta charset="UTF-8" />
<title>Hello React!</title>
<link rel="stylesheet" href="src/style.css" />
<script src="build/react.js"></script>
<script src="build/react-dom.js"></script>
<script src="build/browser.min.js"></script>

</head>
<body>

<div id="container"></div>
<script type="text/babel">
    var option=[
        {"className":"op1","value":"开始游戏"},
        {"className":"op2","value":"排行榜"}
    ];
    var Btn=React.creatClass({
        render:function(){  
            <ul>
                {
                    option.map(function (className,value) {
            return 
                        <li class={className}>
                                <input type="button" class="btn" value={value}/>
                        </li>
                 })
         } 
            </ul>,                      
        }
    });
  ReactDOM.render(
    <Btn />,
    document.getElementById('container')
  );
</script>

</body>
</html>

阅读 6.8k
3 个回答

render 函数没有写 return

帮你改了一下, 下面是可运行的:

var option=[
      {"className":"op1","value":"开始游戏"},
      {"className":"op2","value":"排行榜"}
  ];
  
var Btn=React.createClass({
    render:function(){  
        return <ul>
            {option.map(function (it) {
                return <li className={it.className}>
                          <input type="button" className="btn" value={it.value}/>
                    </li>
             })}
        </ul>                     
    }
});
ReactDOM.render(
  <Btn />,
  document.getElementById('container')
);

主要是有几个点:

  1. return 要添加

  2. map 的使用方式

  3. className

怎么感觉语法不对啊:

你的return呢?逗号也加错地方了

var Btn=React.creatClass({
    render:function(){  
        return <ul>
                   { option.map(function (className,value) {
                         return <li class={className}>
                                    <input type="button" class="btn" value={value}/>
                                </li>;
                   })} 
               </ul>;
    }
});
新手上路,请多包涵

render方法需要return,ul后面加逗号有问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏