码迷,mamicode.com
首页 > 其他好文 > 详细

React

时间:2017-10-31 21:32:03      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:lstat   arp   create   属性   通信   log   handle   function   efs   

基于React写的小todoList

最近在学习阮大的react入门,自己试着写的ToDoList

<!DOCTYPE html>

<html lang="en">
    <head>
        <meta charset="UTF-8">
        <script src="js/react.js"></script>
        <script src="js/react-dom.js"></script>
        <script src="js/browser.min.js"></script>
    </head>
    <body>
        <div id="example"></div>
        <script type="text/babel">
      

      // 子与父通信,3个步骤
      /*
      ①在父组件中 定义一个带有参数的方法
      ②将该方法传递给子组件
      ③在组件中通过属性调用传来的方法(指定要发送的数据)
      */
      // 父与子通信 2个步骤
      /*
      ①在父组件中 调用子组件时 指定属性
      ②在子组件中 读属性对应的值
      */

            var ToDoInput=React.createClass({
        handleClick:function(){ //读取通过属性传递来的方法,将值通过该方法传递给父组件 this.props.funcAdd(this.refs.myInput.value) this.refs.myInput.value="" }, render:function(){ return <div> <h3>待做事项列表</h3> <input type="text" ref="myInput"/> <button onClick={this.handleClick}>Add</button> </div> } }) var ToDoList=React.createClass({ render:function(){ return <ul> { this.props.list.map((content,index)=>{ return <ToDoItem key={index} myIndex={index}
              myValue={content} delete={this.props.funcDelete} /> }) } </ul> } }) var ToDoItem =React.createClass({ handleClick:function(){ //点击删除按钮时候,应该是从ToDoBox状态的数组中数据 this.props.delete(this.props.myIndex) }, render:function(){ return <li> <button onClick={this.handleClick}>delete</button> <span>{this.props.myValue}</span> </li> } }) var ToDoBox = React.createClass({ getInitialState:function(){ return {myList:[123,123]} }, addToList:function(result){ //将用户传递来的result添加到状态对应的数组中 var nowList=this.state.myList nowList.push(result) this.setState({myList:nowList}) }, deleteFromList:function(index){ var nowList=this.state.myList nowList.splice(index,1) this.setState({myList:nowList}) }, render:function(){ return <div> <ToDoInput funcAdd={this.addToList}/> <ToDoList list={this.state.myList}
              funcDelete={this.deleteFromList}/> </div> } })
      //将根组件 ToDoBox渲染 ReactDOM.render( <ToDoBox/>, document.getElementById(‘example‘) ) </script> </body> </html>

  感谢分享

 

React

标签:lstat   arp   create   属性   通信   log   handle   function   efs   

原文地址:http://www.cnblogs.com/sirbin/p/7763590.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!