ホームページ  >  に質問  >  本文

Redux Store スライスの配列値を変更する方法を調べる

<p>位置情報を保存するスライスがあります。 set と setLocation という 2 つの関数を宣言しました。 set 関数は位置の配列を受け入れ、setLocation 関数は位置を設定する必要があります。 </p> <p>これは、location 変数に保存されているサンプル データです: </p> <pre class="brush:php;toolbar:false;">const places = [{name: '1', Index: 0}, {name: '2', Index: 1}];</pre> ; <p>これは私のスライス コードです: </p> <pre class="brush:php;toolbar:false;">import { createSlice } from '@reduxjs/toolkit' const の場所をエクスポートSlice = createSlice({ 名前: '場所'、 初期状態: { 場所: null、 }、 レデューサ: { set: (状態、場所) => { 状態.場所 = 場所.ペイロード }、 setLocation: (状態, 場所) => { 状態.場所[場所.インデックス] = 場所 } }、 }) import const { set, setLocation } = locationSlice.actions デフォルトの場所をエクスポートSlice.reducer</pre> <p>set(locations) の呼び出しは有効です。ただし、location が location 配列内の値である場合、setLocation(location) を使用して location 配列内の 1 つの位置を置き換えることはできません。 setLocation() 関数で console.log(state.location) を使用すると、いくつかのプロキシ オブジェクトが取得されます。 </p>
P粉197639753P粉197639753388日前381

全員に返信(1)返信します

  • P粉248602298

    P粉2486022982023-08-31 09:48:51

    setLocation 操作で Proxy が発生する問題は、特定の場所を検索するときに location.index を渡すためですが、 location.payload.index を渡す必要があります。 リーリー

    返事
    0
  • キャンセル返事