第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

React Native,從另一個(gè)屏幕編輯數(shù)據(jù)

React Native,從另一個(gè)屏幕編輯數(shù)據(jù)

qq_笑_17 2023-04-20 16:39:40
我制作了 2 個(gè)屏幕,一個(gè)主屏幕和第二個(gè)編輯屏幕我需要從編輯屏幕編輯主屏幕的數(shù)據(jù)并保存它,并且該數(shù)據(jù)也應(yīng)該在主屏幕和詳細(xì)信息屏幕中更新。沒(méi)有 redux 或上下文我怎么能做到這一點(diǎn)。誰(shuí)能告訴我。首頁(yè).jsclass Home extends Component {  state = {    post: [      {        key: "1",        title: "A Good Boi",        des: "He's a good boi and every one know it.",        image: require("../assets/dog.jpg"),      },    ],  };  render() {    return (        <FlatList          data={this.state.post}          renderItem={({ item }) => (            <>              <TouchableOpacity                activeOpacity={0.7}                onPress={() => this.props.navigation.navigate("Edit", item)}                style={styles.Edit}              >                <MaterialCommunityIcons                  name="playlist-edit"                  color="green"                  size={35}                />              </TouchableOpacity>              <Card                title={item.title}                subTitle={item.des}                image={item.image}                onPress={() => this.props.navigation.navigate("Details", item)}              />            </>          )}        />編輯.jsclass ListDetails extends Component {  render() {    const listing = 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={() => this.props.navigation.goBack("Home")}        />      </View>細(xì)節(jié).js const listing = this.props.route.params;    return (      <View>        <Image style={styles.image} source={listing.image} />        <View style={styles.detailContainer}>          <Text style={styles.title}>{listing.title}</Text>          <Text style={styles.des}>{listing.des}</Text>        </View>      </View>    );
查看完整描述

1 回答

?
元芳怎么了

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊

您可以將主屏幕中的函數(shù)傳遞給編輯屏幕中的setState 。如果導(dǎo)航到編輯屏幕導(dǎo)致主屏幕卸載,您可以將導(dǎo)航方法更改為堆棧導(dǎo)航器的推送(我還沒(méi)有測(cè)試過(guò))?,F(xiàn)在的代碼應(yīng)該是這樣的:


主屏幕.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>


查看完整回答
反對(duì) 回復(fù) 2023-04-20
  • 1 回答
  • 0 關(guān)注
  • 110 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)