タグ付けされた質問 「spread-syntax」

30
浅いマージの代わりに深いマージする方法は?
Object.assignとObject spreadはどちらも浅いマージのみを行います。 問題の例: // No object nesting const x = { a: 1 } const y = { b: 1 } const z = { ...x, ...y } // { a: 1, b: 1 } 出力はあなたが期待するものです。しかし、私がこれを試した場合: // Object nesting const x = { a: { a: 1 } } const …

11
スプレッド構文を使用したES6のディープコピー
配列ではなくオブジェクトで機能するReduxプロジェクトのディープコピーマップメソッドを作成しようとしています。Reduxでは、各状態は以前の状態で何も変更すべきではないことを読みました。 export const mapCopy = (object, callback) => { return Object.keys(object).reduce(function (output, key) { output[key] = callback.call(this, {...object[key]}); return output; }, {}); } できます: return mapCopy(state, e => { if (e.id === action.id) { e.title = 'new item'; } return e; }) ただし、内部アイテムはディープコピーされないため、次のように調整する必要があります。 export const mapCopy = (object, callback) => …

6
タイプスクリプトでスプレッド構文と新しいSet()を使用する
次のコードを使用して一意の番号を取得しています。 let uniques = [ ...new Set([1, 2, 3, 1, 1]) ]; // [1, 2, 3] ただし、typescriptは次のエラーを報告します:Type'Set 'は配列型ではありません。 私はtypescript忍者ではありません、誰かがここで何が悪いのか教えてもらえますか?

3
オブジェクトの配列とIDでキー設定されたオブジェクトの状態
ステートシェイプの設計に関する章のドキュメントでは、IDでキー設定されたオブジェクトに状態を保持することを推奨しています。 IDをキーとして格納されたオブジェクト内のすべてのエンティティを保持し、IDを使用して他のエンティティまたはリストからそれを参照します。 彼らは州に行く アプリの状態をデータベースと考えてください。 フィルターのリストの状態図形を処理しています。フィルターの一部は開かれる(ポップアップに表示される)か、オプションが選択されます。「アプリの状態をデータベースと考える」を読んだとき、APIから返される(データベースによってサポートされている)JSON応答として考えることを考えました。 だから私はそれを次のように考えていました [{ id: '1', name: 'View', open: false, options: ['10', '11', '12', '13'], selectedOption: ['10'], parent: null, }, { id: '10', name: 'Time & Fees', open: false, options: ['20', '21', '22', '23', '24'], selectedOption: null, parent: '1', }] ただし、ドキュメントはより多くのような形式を提案しています { 1: { name: 'View', open: …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.