react.js

Posted 小小de细菌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了react.js相关的知识,希望对你有一定的参考价值。


<
html> <head> <script src="../build/react.js"></script> <script src="../build/react-dom.js"></script> <script src="../build/browser.min.js"></script> </head> <body> <div id="test"></div> <script type="text/babel"> //-------dome1 ReactDOM.render( <h1>hellow,word1111!</h1>, document.getElementById(\'test\') ); </script> </body> </html>

dome2

// ---------dome2
var names = [\'xiaom\',\'xiaohong\',\'xiaohei1\'];
ReactDOM.render(
<div>
  {
    names.map(function(name){
      return <div>hellow,{name}!</div>
    })
  }
</div>,
document.getElementById(\'test\')
);

dome3

var names=[
   <h1>hellow:number 1</h1>,
   <h3>hellow:number 2</h3>  
];

ReactDOM.render(
   <div>{names}</div>,
   document.getElementById(\'test\')  
);
** 注意 双标签必须合法 不然会报错 Uncaught SyntaxError: embedded: Unexpected token
结果:

dome4:

var HelloClass = React.createClass({
    render:function(){
        return <h1>hellow:{this.props.name}</h1>;   
    }
});
ReactDOM.render(
 <HelloClass name="liuhulan"/>,
document.getElementById(\'test\')
);
//注意:组建的类的首字母必须大写 !

 

dome5 

var TestClass = React.createClass({
   render:function(){
      return(
        <ol>
          {
            React.Children.map(this.props.children,function(test){
              return <li>{test}</li>;
            })
          }
        </ol> 
    );
   }
});

ReactDOM.render(
  <TestClass>
  <span>9897878</span>
  <span>911111</span>
  </TestClass>,
  document.getElementById(\'test\')
);

//  this.props.children    
// map  :循环

 dome6

//---------dome6
var TestProp = React.createClass({
//属性
propTypes:{
//要求TestProp组建有一个title 属性 这个属性必须是字符串 而且是必填
title:React.PropTypes.string.isRequired,
},
render:function(){
return <h1>{this.props.title}</h1>
}
});

var data="abc";
// var data=123;
ReactDOM.render(
<TestProp title={data}/>,
document.getElementById(\'test\')
);
// 如果data=123 会报错 Warning: Failed propType: Invalid prop `title` of type `number` supplied to `TestProp`, expected `string`

-----------------------------------------------
 

var TestProp = React.createClass({
//getDefaultProps 默认组建属性的值
getDefaultProps:function(){
return {title:"hello,word",abc:\'uuuuu\'};
},
render:function(){
return <h1>{this.props.title}---{this.props.abc}</h1>
}
});


ReactDOM.render(
<TestProp/>,
document.getElementById(\'test\')
);

dome7

var down = document.getElementById(\'test\');
//---------------dome8 
var TestController = React.createClass({
//初始化一个标记
  getInitialState:function(){
    return {liked:true};
  },
//this.setState修改状态值
  clickFunction:function(event){
    this.setState({liked:!this.state.liked});
  },

  render:function(){
    var message=this.state.liked?\'like\':\'not like\';
    return(
        <p onClick={this.clickFunction}>00000:{message}</p>
    );
  }
});
ReactDOM.render(
<TestController/>,down
  );

dome8

//输入框的值改变p标签的值也改变
var down = document.getElementById(\'test\');
var Input = React.createClass({
  //初始化tag的值
      getInitialState:function(){
        return {tag:\'Hello1212\'};   
      },
  //触发事件重新赋值
  inputChange:function(event){
    this.setState({tag:event.target.value});
  },
  render:function(){
    var message=this.state.tag;
    return(
      <div>
      <input type="text" value={message} onChange={this.inputChange}/>
      <p>{message}</p>
      </div>
    );
  }
});

ReactDOM.render(
  <Input/>,down
);
---

 

以上是关于react.js的主要内容,如果未能解决你的问题,请参考以下文章

react js web代码可以用于使用react native构建移动应用程序吗?

在 React.js 代码中使用 .svg 文件时出现问题

TSX 文件中无法识别 React.js 代码(VS 2015 Update 1 RC)

40行代码内实现一个React.js

React.js 与 Javascript 变量声明

如何在 Visual Studio 代码中配置设置,以便更漂亮地为 react.js 工作