分からないこと
const mapDispatchToProps = (dispatch) => ( { onChange: (?) => dispatch(changeValue(?)) } );
?に何を書いたら良いのかが分かりません。
発生している問題
textフォームのvalueが変更されません。
const TextForm = ({ value, onChange }) => { return( <> <p>{value}</p> <input type="text" defaultValue={value} onChange={(e) => onChange(e.target.value)} /> {// onChangeの(e)の部分も間違っているような気がします} </> ); }
import { connect } from 'react-redux'; import { changeValue } from '../actions/actions'; import TextForm from '../components/TextForm'; const mapStateToProps = (state) => ( { value: state.textFormReducer.value } ); const mapDispatchToProps = (dispatch) => ( { onChange: (value) => dispatch(changeValue(value)) } ); const TextFormContainer = connect(mapStateToProps, mapDispatchToProps)(TextForm); export default TextFormContainer;
export default function textFormReducer(state = VALUE, action) { switch (action.type) { case CHANGE_VALUE: // return {value: state.value}; return ( Object.assign({}, state, {value: state.value}) ) default: return state; } }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/18 11:26
退会済みユーザー
2020/04/18 11:32
2020/04/18 11:42