問題タブ [use-reducer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 反応jsでコンテキストAPIを使用している間、使用レデューサーの初期状態が更新されません
私は、react でコンテキスト API とフックを使用することにかなり慣れていません。useReducer
の参照を使用してアクションのディスパッチを渡そうとしたときに、オブジェクトが渡されたにもかかわらず、初期状態が更新されないという問題に直面しています。コードは次のとおり
です。 reducer.js
console.log(action)
上記のように指定しているためitem: {…} id: "101" image: "https://images.pexels.com/photos/534/animal-countryside-agriculture-farm.jpg" price: 11.96 rating: 5 title: "dress1" <prototype>: Object { … } type: "ADD_TO_BASKET" <prototype>: Object { … }
、オブジェクトはレデューサーに渡されますが、初期状態は更新されません。ケースのみ: ADD_TO_BASKETが機能していない 他のケース: REMOVE_FORM_BASKET が正常に機能しています。
ここに参照用の他のファイルがあります。 stateProvider.js
product.js
header.js
初期状態が更新された後、header.jsのbasket.lengthは更新が必要でしたが、0 のままですが、 initialState>basketでオブジェクトをハードコーディングすると、basket.lengthが更新されます。しかし、オブジェクトはInitialState > バスケットに追加されていません
javascript - React useReducer が initialState を空にする
後でuseReducerで使用できるように、initialState内でaxiosによってフェッチされたデータを使用しようとしています。しかし、2 番目の引数の initialState として渡すとすぐに、オブジェクトのない空の配列が返されます。助けてください... :(
1 番目と 2 番目のログの結果は次のようになります。
useReducer は initialState を空にします
それぞれにカウントを追加した後の API 呼び出しの結果は、次のようになります。
これが私のレデューサーのコードです。何度もチェックしましたが、問題ないようです: