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

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

卸載屏幕后重置狀態(tài) - 掛鉤?

卸載屏幕后重置狀態(tài) - 掛鉤?

青春有我 2022-12-29 15:15:51
從 API 獲取數(shù)據(jù)后,我將其設(shè)置為狀態(tài),并在 Flatlist 中呈現(xiàn)項(xiàng)目,當(dāng)我從中選擇任何項(xiàng)目時(shí),我會操作數(shù)據(jù)并向名為“toggle: true”的項(xiàng)目對象添加一個(gè)新屬性當(dāng)我從列表中選擇任何項(xiàng)目時(shí)效果很好,我添加了一個(gè)基于的邊框toggle,但是當(dāng)我返回上一個(gè)屏幕然后重新打開列表屏幕時(shí),我可以看到在項(xiàng)目周圍呈現(xiàn)的邊框,盡管我在卸載時(shí)重置了狀態(tài)屏幕那么我在這里犯了什么錯(cuò)誤?代碼片段數(shù)據(jù)export default {  ...  services: [    {      id: 0,      name: 'nameS0',      logo:        'https://cdn2.iconfinder.com/data/icons/hotel-98/64/hair-dryer-tools-beauty-hairdressing-512.png',      price: 19.99,    },    ],  employees: [    {      id: 0,      name: 'name0',      img:        'https://www.visualelementmedia.com/wp-content/uploads/2015/04/person-4-400x629.jpg',    },    ...  ],};const VendorProfile = ({navigation}) => {  const [services, setServices] = React.useState(null);  const [employees, setEmployees] = React.useState(null);  const [serviceSelected, setServiceSelected] = React.useState(null);  const [employeeSelected, setEmployeeSelected] = React.useState(null);    // For selected Item (services, employees)  const itemSelected = (data, id) => {    const updated = data.map((item) => {      item.toggle = false;      if (item.id === id) {        item.toggle = true;        data === services          ? setServiceSelected(item)          : setEmployeeSelected(item);      }      return item;    });    data === services ? setServices(updated) : setEmployees(updated);  };  ...  const renderEmployees = ({item}) => {    return (      <TouchableOpacity        onPress={() => itemSelected(employees, item.id)}        delayPressIn={0}        style={styles.employeeContainer}>        <EmployeePattern style={{alignSelf: 'center'}} />        <View style={styles.employeeLogo}>          <Image            source={{uri: item.img}}            style={[styles.imgStyle, {borderRadius: 25}]}          />    );  };
查看完整描述

1 回答

?
斯蒂芬大帝

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

好吧,在嘗試了多次之后,我明白了

改變這個(gè)

 const updated = data.map((item) => {

對此

 const updated = data.map((old) => {
       let item = {...old};

請確保一切正常,我們沒有破壞任何東西 :)

在您的 ItemSelected 函數(shù)上,您傳遞了整個(gè)員工列表,現(xiàn)在可以通過它了,但是當(dāng)您更改此列表中的一個(gè)項(xiàng)目而不“重新創(chuàng)建它”時(shí),對該項(xiàng)目的引用仍然是相同的“因?yàn)樗且粋€(gè)對象”的意思我們正在修改原始項(xiàng)目,并且由于我們這樣做,項(xiàng)目保留了它的舊引用,避免這種情況的最佳方法是重新創(chuàng)建對象,希望這能給你一個(gè)想法。


查看完整回答
反對 回復(fù) 2022-12-29
  • 1 回答
  • 0 關(guān)注
  • 82 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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