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

初学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>


怎么感觉语法不对啊:

你的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

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

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


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

【热门文章】
【热门文章】