[新手提问前先来这里看看]React Native的常见问题



  • 按照上面配ListView的数据运行后报错undefined not an object evaluating this.renderRow.bind,完整代码如下,

    /**
     * Sample React Native App
     * https://github.com/facebook/react-native
     */
    'use strict';
    
    var React = require('react-native');
    
    var {
      AppRegistry,
      TextInput,
      AppRegistry,
      Component,
      StyleSheet,
      Text,
      Image,
      View,
      ListView,
    } = React;
    
    // var MOCKED_MOVIES_DATA = [
    //   {title: 'Title', year: '2016', posters: {thumbnail: 'http://i.imgur.com/UePbdph.jpg'}},
    // ];
    
    var GithubFinder = React.createClass( {
    render() {
      let dataList = {'数据一':[], '数据二':[], '数据三':[]};
      let dataSource = new ListView.DataSource({
        getRowData:(dataBlob, sectionID, rowID) => {
          return dataBlob[sectionID][rowID];
        },
        getSectionHeaderData: (dataBlob, sectionID) => {
          return dataBlob[sectionID];
        },
        rowHasChanged: (row1, row2) => row1 !== row2,
        sectionHeaderHasChanged: (s1, s2) => s1 !== s2,
      })
    
      let sectionIDs = Object.keys(dataList);
      console.log(sectionIDs);
      let rowIDs = sectionIDs.map( sectionID => {
        let count = dataList[sectionID].lenght;
        console.log(count+"1");
        let thisRow = [];
        for(let i = 0; i < count; i++){
          // console.log(dataList[sectionID]);
          thisRow.push(i);
        }
        console.log(thisRow);
        return thisRow;
      });
    
      return (
        <ListView
          automaticallyAdjustContentInsets={false}
          dataSource={ dataSource.cloneWithRowsAndSections(dataList, sectionIDs, rowIDs)}
          removeClippedSubviews={true}
          renderRow={this.renderRow.bind(this)}
          renderSectionHeader={this.renderSectionHeader.bind(this)}
        />
      );
      },
    })
    
    
    // var styles = StyleSheet.create({
    //   container: {
    //     flex: 1,
    //     flexDirection: 'row',
    //     justifyContent: 'center',
    //     alignItems: 'center',
    //     backgroundColor: '#F5FCFF',
    //   },
    //   rightContainer: {
    //     flex: 1,
    //     backgroundColor: '#FFFFFF'
    //   },
    //   title: {
    //     fontSize: 20,
    //     marginBottom: 8,
    //     textAlign: 'center',
    //   },
    //   year: {
    //     textAlign:'center',
    //   },
    //   thumbnail: {
    //     width: 53,
    //     height: 81,
    //   },
    // });
    
    
    AppRegistry.registerComponent('GithubFinder', () => GithubFinder);
    
    


  • @bawn 我一没有填数据,二没有写renderRow方法,这都得你看自己的情况写



  • @sunnylqm 谢谢,原来是我太新手了



  • 第一个问题,中文乱码问题,在调试之初中文是不会出现乱码的,可是现在中文已经出现了乱码,不知道怎么处理才好。
    第二个问题,就是ToolbarAndroid的 actions={[{title: 'Settings', icon: require('image!icon_settings')
    show: 'always'}]}的icon数据对应的右边到底是什么格式的图片,连个后缀都没有,我改成了
    require('./images/自己的图片')报错,我干脆就把icon去掉,直接给我不显示了,官方一点说明都没。



  • 请问下,一个用了listview的app,在快速滑动的时候,容易误认为点击了图片,然后进入图片浮层。这个点击事件 js是怎么判断呢,我明明是滑动事件啊



  • @sunnylqm 说:

    Q:创建新项目,react-native init AwesomeProject命令长时间无响应,或报错shasum check failed

    ant 项目 怎么配置RN?



  • 进页面拉一个请求,页面有A、B、C组件,想根据拉下来数据中的某一个字符串是否为空字符串或者某些数据是否为空来判断是否显示组件C,怎么写呢?我尝试了很多写法都是报RowText ”xxx“ must be wrapped in an explicit <Text> component这个错误。。。



  • 这样:
    {this.state.isShow && <View>...</View>}



  • 加载图片样式会崩溃,请问这个是什么原因,js文件也没怎么改动,0_1474255759231_屏幕快照 2016-09-19 上午11.27.38.png
    0_1474255879172_屏幕快照 2016-09-19 上午11.31.06.png



  • @sunnylqm 说:

    115487854
    麻烦您看下我这个问题是什么原因 谢谢
    http://bbs.reactnative.cn/topic/2931/android-webview打不开带端口的url



  • 真的是服了 全网搜索没有完善的window资料 都是mac linux的 window是被吃了吗 搭建个基本环境想运行起来都这么难的吗。



  • @a120476536 哈哈。 说的非常对。 环境搞了2天了。 最后总结的结果就是用Mac吧。