私はReduxを学びたいと思っています。私がここで間違っていることを知りたいのです。私は単純な入力フィールドを持っており、入力フィールドに変更が発生するたびにテキストを大文字にするアクションをディスパッチしたい。ここに私のReduxのstore
です:Reduxでの入力値の取得
const TOCASE = (state="meow", action) => {
switch(action.type){
case 'UPPER':
return state.toUpperCase()
case 'LOWER':
return state.toLowerCase()
default:
return state
}
}
const {createStore} = Redux;
const store = createStore(TOCASE)
ここに私のcomponent
です:
const Case = React.createClass({
render(){
return(
<div>
{this.props.text}
<input type="text" value={this.props.text} onChange={this.props.onUpper}/>
</div>
)
}
})
const render =() => ReactDOM.render(<Case
text={store.getState()}
onUpper={(e)=>store.dispatch(e.target.value,{type: 'UPPER'})}
/>, document.getElementById('app'))
render()
store.subscribe(render)
私はこの時点で少し混乱しています。私がgetInitialStateとsetStateを私のコンポーネントで使うのであれば、入力テキストは基本的には状態ではないでしょう。しかし、レフィックスを追加すると、私の還元剤のaction.dataに戻ってきて、状態ではないのですか? –
あなたが言っていることは本当です。 Reduxは反応する国家の仕事のように働く巨大な州のマネージャーのようなものです。あなたの例はredux状態を必要としませんが、reduxを使ってコードを書く方法を学ぶためには、reduxでそれをやっています。学習のステップとしてあなたの例を挙げる。あなたの事件でこれが本当に必要な場合は、あまり考えないでください。あなたのコードがどのように実行されるか、reduxの仕組みに注目してください。巨大な状態が必要なときは、すでに武装しています。 – FurkanO