React-Native中Redux結(jié)合PullList時(shí)遇到List沒有及時(shí)刷新問題2018-11-1

問題描述

在PullList列表中,需要點(diǎn)擊列表的某一行,進(jìn)入列表的詳細(xì)信息。然后修改列表的信息后,返回主List中。但是今天遇到個(gè)坑,就是修改完詳細(xì)信息后。主界面沒有同步刷新??淳W(wǎng)上參考了很多帖子,都沒有解決。

參考1:沒解決,但是帖子說的很有道理,但是在我這里不適用。可以一讀,防止以后繞類似的坑。
http://www.itdecent.cn/p/d762b319cd60

參考2:其實(shí)和上面道理一樣,同樣沒解決。
http://www.itdecent.cn/p/b317fb9b6770

我自己環(huán)境:

react-native 0.57
redux
PullList

大致流程:


image.png

但是redux內(nèi)的數(shù)據(jù)已經(jīng)改變成功了,只不過是界面沒有渲染。原因也沒有找到。。。坑啊。。。

然后換了另一個(gè)辦法,就是用到了通知DeviceEventEmitter

Detail詳情界面內(nèi),點(diǎn)擊保存按鈕

    //這個(gè)方法是更新redux,更新內(nèi)容是可以的,但是沒有渲染。因此數(shù)據(jù)已經(jīng)是最新的了。
     this.updateDispatchDataStatus(json)
    //重點(diǎn)來了,這里給List界面發(fā)送個(gè)通知,告訴界面,我刷新redux了,你要更新渲染數(shù)據(jù)。
      DeviceEventEmitter.emit('left', '發(fā)送了個(gè)通知');

List界面內(nèi)

 用PullList,state內(nèi)定義了:
list: (new ListView.DataSource({ rowHasChanged: (r1, r2) => r1 !== r2         
})).cloneWithRows(this.props.dispatchDataSource),

   componentDidMount() {
    //添加監(jiān)聽
    this.deEmitter = DeviceEventEmitter.addListener('left', (a) => {
        console.info(this.props.dispatchDataSource)
        this.setState({
           this.setState({
              //收到通知然后更新list,就重新渲染了。
              list: this.state.list.cloneWithRows(this.props.dispatchDataSource),
        });
        });
    });
} 

總結(jié)

還是沒有本質(zhì)的解決問題,但是這樣也達(dá)到了目的。有時(shí)間再仔細(xì)看看吧。
我的QQ337241905,如果有細(xì)節(jié)不了解可以加我。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,765評(píng)論 25 709
  • 用兩張圖告訴你,為什么你的 App 會(huì)卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 13,913評(píng)論 2 59
  • (評(píng)論員 黎澄皓)媒介,讓人喜,讓人憂 媒介,是運(yùn)輸物質(zhì)或傳播信息的途徑,但隨著社會(huì)的發(fā)展,科技的進(jìn)步,媒介的...
    高惠娟閱讀 360評(píng)論 0 0
  • 1、習(xí)慣+運(yùn)動(dòng)+學(xué)習(xí) 1)生活習(xí)慣:早6:00前晚23:30,早起完成5天,早睡完成5天,比上周略有進(jìn)步。 2)運(yùn)...
    婷蘭0726閱讀 247評(píng)論 0 0
  • 感恩大愛的寶紅老師,昨天聽了寶宏老師的微信分享,收獲很多。聽寶宏老師的聲音就很舒服,聽她分享的故事更是深入人心,也...
    武丹yoyo閱讀 172評(píng)論 0 0

友情鏈接更多精彩內(nèi)容