传递值堆栈导航器

时间:2020-02-07 00:05:53

标签: reactjs react-native

我正在使用react native和react native导航4,我需要将一些值从我的api传递到另一个页面,但是我无法定义

这是我父亲的代码

  const Sol1Form = ({navigation: {navigate}}) => {

  const [request, setrequest] = useState();

  async function getList() {
    const vKindSearch = 1;
    const vCreationUser = await AsyncStorage.getItem('id');
    const { data } = await ForceApi.post(`/GetRequestController.php`,{ vCreationUser, vKindSearch})
    console.log(data.request);
    setrequest(data.request);
  }

  useEffect(() => {
    getList();
  }, []);
    return (
        <ScrollView>
         <View style={styles.Lcontainer}>
            <FlatList 
            columnWrapperStyle={styles.listContainer}
            data={request}
            keyExtractor= {(item) => {
              return item.solicitude_id;
            }}
          renderItem={({item}) => {
          return (
              <View style={styles.tarjeta }>
                <View style={styles.solicitudview }>
                  <Text style={styles.solicitud }>Id de la Solicitud: {item.solicitude_id}</Text>
                </View>
                <View style={styles.card }>
                  <Text style={styles.clave}>Nombre: {item.full_name}</Text>
                  <Text style={styles.clave}>Comentarios: {item.comment}</Text>
                </View>
                <View >
                <TouchableOpacity  style={[styles.buttonContainer, styles.loginButton]}  onPress={() => navigate('Irregular',{ewe:item.solicitude_id})}>
                  <Text style={styles.loginText}>Atender Irregularidad</Text>
                </TouchableOpacity>
                </View>
              </View>
          )}}/>
      </View>
        </ScrollView>
    );
};

在这里,我需要通过item.solicitude_id

在我的子页面上,我有此代码

const ImgPicker = ({onSubmit,navigation,route}) => {
     const [value] = useState(route.params.ewe);
     console.log("akiiiiiiiiiiiiiiiiiiiiiiiiiiii", value );}

子代码可以做更多的事情,但是我想用console.log值,但是我没有定义,idk我做错了什么,我看过很多教程,并且我将所有东西都正确地设置为导航和那个东西 任何帮助都很棒

编辑

这是imgpckr的调用

   const Solicitudes1 = ({navigation}) => {
    const {state, guardarIrre} = useContext(Context);
  return(

    <View style={styles.container}>
            <View style={styles.head}>
                <Image style={styles.logo} source={require('../assets/Logo-Pequeño.png')} /> 
            </View>
            <View style={styles.backContainer}>
                <View style={styles.textContainer}>
                <TouchableOpacity onPress={() => navigation.goBack()}>
                    <Ionicons style={styles.back} name="ios-arrow-back" size={27} />
                </TouchableOpacity>
                <View>
                    <Text style={styles.textIniciar}>Nueva Solicitud</Text>
                </View>
                </View>
            </View>
        <ScrollView >
        <IrregularForm
            onSubmit = {guardarIrre}
        /> 
        </ScrollView>
      </View>
    );
  }

1 个答案:

答案 0 :(得分:1)

为了使用导航道具,您的组件或屏幕应该可以访问它,如果在react navigation中声明了它,则默认情况下他们将获得道具,另一种方法是将其作为道具传递给组件:< / p>

<IrregularForm onSubmit = {guardarIrre} navigation={navigation} />

这样,您的IrregularForm组件将可以访问它,因此您的ImgPicker也将具有访问权限并可以接收导航道具。

<ImgPicker navigation={navigation} />