2017-11-15 11 views
0

私はreact-typescriptアプリケーション用のreduxストアを実装しようとしています。私は減速機に問題があります。ネイティブの反応アプリでは、次のようにしました。普及担当者がtypescriptで問題を提起しています

reminders = [...state, reminder(action)]; 
    return reminders; 

拡散演算子は完全に動作します。新しいオブジェクトは配列に不変に追加されます。 typescriptですと

これは起きていない。(代わりに、配列の空のオブジェクトを取得する)私は

return (<any>Object).assign({}, state, reminder(action)); 

をobject.assign試してみました。これは、配列に追加いうし、現在のオブジェクトを置き換え、私はそのと思ういけません不変の方法でそれをやっている。

私はimmutable.jsを使用しようとしましたが、減速機はまったく呼び出されていませんでした。

return map([state,reminder(action)]) 

何が間違っているかわかりません。 objext.assignを使用した後でも、nextpropsとcurrentの小道具は常に同じになります。 shouldContainerUpdate()メソッドで変更されても、

+0

のためのJavaScriptと同じ意味を以下のため、このではありませんあなたは何が起こっているのか記述できますか? 'リマインダー'の価値は?それは 'リマインダ(アクション)'がありませんか? – FuzzyTree

+0

imは配列の代わりに空のオブジェクトを取得します –

+0

'state'の内容は何ですか? – FuzzyTree

答えて

0

スプレッド演算子は完全に動作します。新しいオブジェクトは配列に不変に追加されます。

活字体でまったく同じを使用し、それが完璧に動作します:

reminders = [...state, reminder(action)]; 
return reminders; 

なぜ

活字体はtypescriptですと `JavaScriptのシンタックス

+0

の機能を果たしていません。私は常に配列の代わりに空のオブジェクトを取得します。 –

関連する問題