我正在使用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>
);
}
答案 0 :(得分:1)
为了使用导航道具,您的组件或屏幕应该可以访问它,如果在react navigation中声明了它,则默认情况下他们将获得道具,另一种方法是将其作为道具传递给组件:< / p>
<IrregularForm onSubmit = {guardarIrre} navigation={navigation} />
这样,您的IrregularForm组件将可以访问它,因此您的ImgPicker也将具有访问权限并可以接收导航道具。
<ImgPicker navigation={navigation} />