2016-11-19 2 views
0

redux-form/CHANGEアクションをレフィックス形式で処理するための推奨される方法は何ですか?私は、このフォームの状態を管理する自分の減速を持っているが、私はそれは次の操作を実行するのが最善だかはわからない:私は見レデューサーでredux-form/CHANGEを処理する方法

export default reducer (state = initialState, action) { 
    case 'redux-form/CHANGE': 
    // return modified state 
} 

一つの問題は、この減速がすべてのredux-form/CHANGEアクションを受け取ることになるということです。さらに、私がActionTypes.jsをインポートする方法でエクスポートされていないので、これがベストプラクティスではないように感じることができます。

答えて

3

あなたは間違いなくredux-formアクションクリエイターを使用できます。それをコンポーネントに接続するだけです。あなたの/components/MyComponent.js

import React from 'react'; 
import { connect } from 'react-redux'; 
import { change } from 'redux-form'; 

class MyComponent extends React.Component { 
    ... 
    render() { 
     return <div> 
      <button onClick={this.props.change('formName', 'fieldName', 'value')}>Change</button> 
     </div> 
    } 
} 

const mapStateToProps = (state, ownProps) => { ... } 
export default connect(mapStateToProps, { change })(MyComponent); 

ます。またredux-form減速を使用し、あなたのニーズに合わせて拡張することができ...あなたの提案のためのあなたのreducers/index.js]

import { reducer as form } from 'redux-form'; 

const formPlugin = { 
    formName: (state, action) => { 
     ...reducer logic 
     return newState; 
    } 
} 

const rootReducer = combineReducers({ 
    ...other reducers, 
    form: form.plugin(formPlugin) 
}); 
+0

おかげで

、Iでそう

私の同様の問題の解決策があるhttps://stackoverflow.com/questions/46461103/how-to-stop-redux-forms-form-state-from-auto-rehydrated-by-redux-persit –

関連する問題