无法将参数传递到另一个屏幕 反应原生



我正在使用反应导航并尝试将参数从第二个屏幕发送到第三个屏幕

第一个屏幕(应用程序.js) this.props.navigation.navigate('Index1',{userid1:this.state.studentsS});

第二屏幕(索引.js)

this.props.navigation.navigate('MyDealOffer',{userid3:this.props.navigation.state.params.userid1});

当我检查(this.props.navigation.state.params.userid1)的值时,它的数字是正确的

第三屏(我的优惠.js)

componentDidMount(){
this.setState({
  parmstudentid:this.props.navigation.state.params.userid3,
})
var x = this.props.navigation.state.params.userid3;
var url = 'http://***:82/wasily/MyDealOffer.php?
UserID=${this.props.navigation.state.params.userid3}'
fetch(url,
{method:"POST"}).then((response)=>response.json()).then((responseJson)=>{
  var ds = new ListView.DataSource({rowHasChanged:(r1,r2)=>r1!=r2});
  this.setState({
  isLoading:false,
  cloneStudent:ds.cloneWithRows(responseJson),
  });
  })
  }
 render() {
 if(this.state.isLoading){
  return(
    <View><Text>Wait</Text></View>
   )
  }
  return (
 <View style={styles.container}>
 <Text>User Details</Text>
 <ListView
 dataSource={this.state.cloneStudent}
 renderRow={(rowData)=>
 <Text>Username : {rowData.Price} , User ID:{rowData.Price} </Text>
 }/>
 </View>

'

输出:"没有任何数据的用户详细信息"

=========================但是=============================

当我在第二个屏幕中更改以下行时

this.props.navigation.navigate('MyDealOffer',{userid3:this.props.navigation.state.params.userid1});this.props.navigation.navigate('MyDealOffer',{userid3:4});它在第三个屏幕中显示正确的数据

尝试将TouchableOpacity内的onPress={this.handle1Press}更改为onPress={this.handle1Press.bind(this}

相关内容

  • 没有找到相关文章

最新更新