Reactを新しく追加しました。私はそれが基本的な質問だと思うが、減速が解雇や状態を更新されませんなぜ私が取得することはできません。アクション実行時のエラー:キャッチされていないタイプのエラー:未定義の 'タイプ'のプロパティを読み取ることができません。
マイHomeView.js:
....
const { localeChange, counter, locale } = this.props
return (
<div>
<button onClick={() => increment(7)}>Increment</button>
<input type='text' value = {counter}/>
.....
</div>
)
const mapStateToProps = (state) => ({
locale: state.locale,
counter: state.counter
})
export default connect(mapStateToProps, {localeChange, increment})(HomeView)
マイ減速(定数、アクションと減速同じファイル):
export const COUNTER_INCREMENT = 'COUNTER_INCREMENT'
export function increment (text) {
return { type: COUNTER_INCREMENT, text }
}
export default function counterIncrement (state = 0, action) {
switch (action.type) {
case 'INCREMENT':
return state + action.text
default:
return state
}
}
そして最後に、私の "親" 減速:
import { combineReducers } from 'redux'
import { routeReducer as router } from 'react-router-redux'
import locale from './modules/locale'
import counter from './modules/counter'
export default combineReducers({
locale,
router,
counter
})
私は理解してどのような:
私の状態では、私はcounterという名前のフィールドを持っています(それはredux開発ツールを使用しています)。 私はインクリメントアクションを派遣ボタンをクリックして、私は本当にこのようなアクション派遣すべきとき: {タイプ:COUNTER_INCREMENT、テキスト:7}
しかしcounterIncrement機能(減速)未定義としてアクションを取得します:Uncaught type error: cannot read property 'type' of undefined
を。 これを正しくデバッグできますか?私は減速機counterIncrementにブレークポイントを置くが、解雇されることはない。
Uppps、はい。私がアップロードしたコードにはありませんでしたが、import {increment}の代わりにimport incrementを書いていました。 – user2670996