【发布时间】:2018-07-20 08:06:49
【问题描述】:
我在 React Native 和 Redux 中创建表单。我添加了TextInput 并想在Reducer 中更改该字段的状态。我有一个麻烦,因为我不知道如何将(change) => this.setState({change}) 函数添加到我的 Redux 架构中。我使用组合减速器并且不知道如何绑定该值。
简而言之,我需要在更改功能上获得TextInput 的默认行为,但我必须使用 Redux 来做到这一点。
Form.js
const mapDispatchToProps = dispatch => {
return {
changeNameInput: () => dispatch({type: 'CHANGE_NAME_INPUT'})
};
};
const mapStateToProps = state => {
return {
change: state.changeNameInput.change
};
};
class Form extends React.Component {
render() {
return (
<View>
<FormLabel>Name</FormLabel>
<TextInput
onChangeText={this.props.changeNameInput}
value={this.props.change}
/>
</View>
);
}
}
Reducer.js
const initialState = {
change: 'Your name'
};
const changeinputReducer = (state = initialState, action) => {
switch (action.type) {
case 'CHANGE_NAME_INPUT':
//Problem
return {...state, change: '????' };
default:
return state;
}
};
export default changeinputReducer;
【问题讨论】:
标签: javascript forms reactjs redux