亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

業余使用react做類似于trello那種任務管理工具遇到的問題?

業余使用react做類似于trello那種任務管理工具遇到的問題?

蠱毒傳說 2018-10-02 13:33:02
這是demo截圖,剛寫不久。我要做的是把“go home”這個卡拖到右邊的doing stage。過程:拖放結束之后dragula這個庫(做拖放的庫,其實哪個庫不要緊,關鍵是我做了一些操作之后他更改了DOM)把左邊那張卡的DOM刪除,然后在右邊的doing stage下面添加“go home”的DOM。然后我觸發一個action,把TODO的數組減少一項,把DOING的數組添加一項(mobx的action,但我覺得redux也是同樣的道理),修改store,然后卡片區的組件就會重新渲染。但是這樣就報了錯誤:Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.我查閱之后找到這里的解釋:https://github.com/facebook/r...,關鍵就是這句“you can’t expect that you can both change the DOM arbitrarily and re-render it with React at the same time.”然后在組件中shouldComponentUpdate返回false倒是解決了問題,但是后面更新的時候就是麻煩事了。我覺得這里最合適的辦法就是mvvm框架那種雙向綁定,非常方便。但是如果使用react來做,大家覺得如何處理比較好?
查看完整描述

1 回答

?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

用react確實要有比較深的js功底,不然那個狀態什么時候更新,確實是挺坑人的。另外還要引各種庫來管理,麻煩死了。比較喜歡最初的react,什么都是手寫的,簡單明了,可讀易寫。
至于雙向綁定嗎,做這個事確實是容易,但是當你修改了數據,直接取消的時候,數據(至少客戶端的數據)就都變了,這絕對是坑。
總體來說各有優點吧。

查看完整回答
反對 回復 2018-11-15
  • 1 回答
  • 0 關注
  • 546 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號