React Native函数绑定参数

时间:2018-04-29 11:11:41

标签: javascript reactjs react-native

我正在尝试渲染一个调用函数来呈现行的列表,但是如何将参数数据传递给函数/处理程序? 数据采用json风格。

我尝试了很多东西,但我总是收到错误,我做错了什么?

这段代码:



  componentDidMount() {
    fetch('http://link/json.php', {
     method: 'GET'
   })
    .then((response) => response.json())
    .then((responseJson) => {
     dataJson = responseJson;
        this.setState({
          preLoad: true
        });
      })
    .catch((error) => {

   });
  }


  renderRows(item){
    if(item.type == 2){
      return(
        <ListItem>
        <Thumbnail square size={80} source={{ uri: 'item.image' }} />
        <Body>
        <Text>{item.title}</Text>
        <Text note>{item.desc}</Text>
        </Body>
        </ListItem>
      )
    }
  }


  renderMenu(){

    if(this.state.preLoad){

      return(
       <List dataArray={dataJson}
       renderRow={(item) =>
         this.renderRows().bind(this,item)
       }>
       </List>
       )

    }else{

      return(
        <Body>{shimmerRows}</Body>
        )
    }

  }


  render() {
    return (
      <Container style={styles.container}>
      {this.renderMenu()}
      </Container>
      );
  }
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

您似乎只需要保存对州的回复。

this.setState({
  preLoad: true,
  dataJson: responseJson,
});

正确地进行绑定。

<List dataArray={this.state.dataJson}
   renderRow={(item) => this.renderRows.bind(this,item)}>
</List>