1 回答

TA貢獻1798條經驗 獲得超7個贊
您可以將主屏幕中的函數傳遞給編輯屏幕中的setState 。如果導航到編輯屏幕導致主屏幕卸載,您可以將導航方法更改為堆棧導航器的推送(我還沒有測試過)?,F在的代碼應該是這樣的:
主屏幕.js:
onEdit=(data)=>{
setState(...);
}
...
<TouchableOpacity
activeOpacity={0.7}
onPress={() => this.props.navigation.navigate("Edit", {item, onEdit})} //use push instead if error occured
style={styles.Edit}
>
...
編輯.js
class ListDetails extends Component {
render() {
const {item:listing, onEdit} = this.props.route.params;
return (
<View>
<Image style={styles.image} source={listing.image} />
<View style={styles.detailContainer}>
<AppTextInput value={listing.title} />
<AppTextInput value={listing.des} />
</View>
<AppButton
text="Save"
onPress={() => { onEdit(...); this.props.navigation.goBack("Home");}}
/>
</View>
添加回答
舉報