今天终于成功使用ReactNative打包APK成功,IOS暂时没有开发者账号所以先弄Android.组件第一个遇到的就是ListView,实在有些看不太明白加之人懒,所以前来请教经验在很多ListView的例子中都有这样一个属性rowHasChanged按理说他应该是布尔值(在后面可以看到它却显示为s1)以下是我做的测试代码如下classYesextendsComponent{constructor(){super();vards=newListView.DataSource({rowHasChanged:(r1,r2)=>r1!==r2});this.state={dataSource:ds.cloneWithRows(['row1','row2']),}}componentDidMount(){varthat=this;setTimeout(()=>{that.setState({dataSource:this.state.dataSource.cloneWithRows(['row1','row2','row3'])});},1000);}render(){return(dataSource={this.state.dataSource} renderRow={(rowData,rowHasChanged)=>{rowData+':'+rowHasChanged} }/>);}}我不知道他有什么作用,我尝试将!===改为===,对例子完全没有影响.然后我尝试将他显示出来dataSource={this.state.dataSource} renderRow={(rowData,rowHasChanged)=>{rowData+':'+rowHasChanged} }/>结果为row1:s1row2:s11秒后变为由于`setTimeout(...)`,row1:s1row2:s1row3:s1将rowHasChanged:(r1,r2)=>r1!==r2中的!==改为===没有任何影响,那么这个rowHasChanged是做什么的呢,它是ListView它是一个用来控制组件的属性吗?另外想请教如何学习react-native的相关组件,总觉得官方文档看起来生涩.顺便再问一下:setTimeout()我为了访问当前this在外面使用了that存储,在ES2015中有没有什么方法避免使用that_this这样的变量一共三个问题:rowHasChanged是什么学习reactnativecomponent的技巧(例如是否有必要从Android了解?)ES6中避免使用that_thisbind的方法有好干货在手的请用力砸我附录:ReactNative官方文档链接
慕村9548890
动漫人物
相关分类