博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
React学习——ListView(Reflux)
阅读量:6086 次
发布时间:2019-06-20

本文共 2493 字,大约阅读时间需要 8 分钟。

接前一篇,把前面的ListView改成Reflux的形式

var BookActions=Reflux.createActions([            'fetchList'        ]);    var BookStore = Reflux.createStore({        listenables: [BookActions],         bookList:['item1','item2','item3'],         init:function () {            this.fetchList();            console.log('init done.');        },        fetchList:function(){            this.bookList.push('item'+(this.bookList.length+1));             console.log('fetchList'+this.bookList.length);            this.trigger(this.bookList);        }    });    var TextItem = React.createClass({        render:function(){            var item = this.props.item;            return 

this is {item}

} }); var Template = React.createClass({ render:function(){ return React.createElement(this.props.type,this.props); } }); var ListViewItem = React.createClass({ render:function(){ var item = this.props.item; var cls = this.props.isSelected?'selected':''; if(this.props.template){ return
  • ; }else{ return
  • {item}
  • ; } } }); var ListView = React.createClass({ mixins: [Reflux.connect(BookStore, 'bookstore')], onSelect:function(item){ this.setState({selectedItem:item}); console.log('selected item:' + item); }, render: function() { var itemTemplate = this.props.itemTemplate?this.props.itemTemplate:''; var selectedItem = this.state.selectedItem; console.log('state:' + this.state); for(var key in this.state){ console.log('key='+key); } if(this.state.bookstore){ var items = this.state.bookstore?this.state.bookstore:[]; console.log('render items:' +this.state.bookstore + '-' + items.length); return (
      { items.map(function (item,i) { var isSelected = (item ==selectedItem); return
      },this) }
    ); }else{ return
      ; } } }); React.render(
      , document.body ); BookActions.fetchList();

       

      转载于:https://www.cnblogs.com/abiho/p/4567250.html

      你可能感兴趣的文章
      Windows Azure 保留已存在的虚拟网络外网IP(云服务)
      查看>>
      修改字符集
      查看>>
      HackTheGame 攻略 - 第四关
      查看>>
      js删除数组元素
      查看>>
      带空格文件名的处理(find xargs grep ..etc)
      查看>>
      华为Access、Hybrid和Trunk的区别和设置
      查看>>
      centos使用docker下安装mysql并配置、nginx
      查看>>
      关于HTML5的理解
      查看>>
      需要学的东西
      查看>>
      Internet Message Access Protocol --- IMAP协议
      查看>>
      Linux 获取文件夹下的所有文件
      查看>>
      对 Sea.js 进行配置(一) seajs.config
      查看>>
      第六周
      查看>>
      解释一下 P/NP/NP-Complete/NP-Hard 等问题
      查看>>
      javafx for android or ios ?
      查看>>
      微软职位内部推荐-Senior Software Engineer II-Sharepoint
      查看>>
      sql 字符串操作
      查看>>
      【转】Android布局优化之ViewStub
      查看>>
      网络安全管理技术作业-SNMP实验报告
      查看>>
      根据Uri获取文件的绝对路径
      查看>>