Javascript 反应你好世界不';我不能用ES6

Javascript 反应你好世界不';我不能用ES6,javascript,reactjs,Javascript,Reactjs,我的代码怎么了?我在jsbin的控制台中没有看到任何错误 Class SecondComponent扩展了React.Component{ render(){ 返回( 我的id是:{this.props.id} ); } } 反应( , document.getElementById('react\u example') ); 以及如何在React.render()中呈现多个组件?如果您希望使用道具,您(可能)需要一个构造函数(请参阅此答案下面的注释) import React,{Com

我的代码怎么了?我在jsbin的控制台中没有看到任何错误

Class SecondComponent扩展了React.Component{
render(){
返回(
我的id是:{this.props.id}

); } } 反应( , document.getElementById('react\u example') );

以及如何在React.render()中呈现多个组件?

如果您希望使用道具,您(可能)需要一个构造函数(请参阅此答案下面的注释)

import React,{Component}来自'React';
从'react dom'导入{render};
类SecoundComponent扩展了组件{
建造师(道具){
超级(道具);
this.props=props;
}
render(){
返回(
我的id是:{this.props.id}

) } } render(,document.getElementById('react_example');

还要注意,我将类命名为
SecoundComponent
,大写字母为S。

首先,您必须使用
ReactDOM
将组件呈现给浏览器,而不是
React
。 您的代码是:

React.render(
    <secondComponenent id="abc" />,
    document.getElementById('react_example')
);
要使其工作,您可以将其添加到html中

第二,当组件没有这样的子组件时,您必须关闭它:
,您的代码是这样写的:

为了在react中渲染多个组件,必须使用单个父组件包装它们,例如:

ReactDOM.render(
    <div>
        <firstComponenent id="abc" />
        <secondComponenent id="abc" />
    </div>,
  document.getElementById('react_example')
);
ReactDOM.render(
,
document.getElementById('react\u example')
);

p.S:另外,正如@alexi2所说:
class-SomeComponent
不是
class-SomeComponent
,有几个小的语法错误阻碍了你。小写表示类,大写表示命名组件,并关闭要渲染的组件。下面的代码在JSBin中工作

class SecondComponent extends React.Component {
  render(){
    return (
      <p>My id is: {this.props.id}</p>
    );
  } 
} 


React.render(
  <SecondComponent id="abc" />,
  document.getElementById('react_example')
);
class SecondComponent扩展了React.Component{
render(){
返回(
我的id是:{this.props.id}

); } } 反应( , document.getElementById('react\u example') );
类名必须以大写字母开头。@Whitcik不能解决问题是的,你是对的,如果
react
版本低于
0.14
,则不需要它。但对于最新版本,无论如何都必须使用
ReactDOM
。也许有帮助:。这不是真的。你需要使用构造函数来使用
这个。状态
,但是道具会自动应用。你说得对,@JoshuaComeau,但是如果你想在构造函数中使用道具,那么你需要使用
超级(道具)
。请参见True-如果定义自己的构造函数,则需要确保
组件的原始构造函数仍然接收道具。否则,您的构造函数将覆盖原来的构造函数,并且将永远不会设置此.props
。这太复杂了,为什么上面alex2的答案在没有导入任何内容的情况下有效?您可能只是从外部库中获取React和ReactDOM;-)这是更多的“es6-y”方法。
ReactDOM.render(
  <secondComponenent id="abc" />,
  document.getElementById('react_example')
);
ReactDOM.render(
    <div>
        <firstComponenent id="abc" />
        <secondComponenent id="abc" />
    </div>,
  document.getElementById('react_example')
);
class SecondComponent extends React.Component {
  render(){
    return (
      <p>My id is: {this.props.id}</p>
    );
  } 
} 


React.render(
  <SecondComponent id="abc" />,
  document.getElementById('react_example')
);