如何立即设置状态以在React Native中传递参数?

时间:2018-01-01 05:01:49

标签: javascript react-native state

问题

我正在使用本机创建应用程序,并且当前有一个问题,我需要设置首次加载时传递到屏幕的参数的状态。我需要设置这些状态,因为参数不会在函数内部工作,只是给我一个错误,说不能找到变量'参数'。我不知道如何立即设置状态,所以我使用的解决方案是在按下时设置一个设置所有状态的按钮,但这对用户来说非常烦人。如何在屏幕加载时立即设置状态?

代码

//passing in parameters
render() {

const { params } = this.props.navigation.state;

return (
  <View style={{ flex: 10000, backgroundColor: '#e8e8e8'}}>
  <View style={styles.button}>
  //Button that needs to be pressed to load the states.
  <Button onPress={() =>{
    this.setState({passKey: params.postKey})
    this.setState({passUserID: params.userID})
    this.setState({passContent: params.postContent})
    this.setState({firebaseItems:''});
    this.setState({passID: expoID});
    this.setState({passNameID: params.passNameID});
    this.setState({fontLoaded:true});
  }}
    title="Press to load"
    color="#ff0037"
  />

1 个答案:

答案 0 :(得分:0)

您可以通过创建if ($(this).offset().top == $("html").scrollTop()) 功能来实现这一目标,并在屏幕加载时将constructor()设置为state

params

详细了解constructor