我在学习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,那么输入文本基本上不会处于状态。但是在添加redux时,我正在返回,在我的reducer中,action.data,而不是状态? –
你说的是真的。 Redux就像一个巨大的国家经理,其工作就像反应状态一样。您的示例不需要redux状态,但为了学习如何使用redux编写代码,您正在使用redux进行编程。把你的例子作为学习的一步。如果你真的需要这个,请不要多想。只需关注REDX如何工作,如何运行代码。当你需要一个巨大的国家时,你就会武装起来。 – FurkanO