0
私はReduxをReact-Native登録アプリに実装しようとしています。React Native + Redux:複数の機能を1つのボタンに付けることができない
ナビゲーションと状態の取り扱い:私は2つの機能を実行するために同じボタンを必要とし、そのような目的のために
。
問題のコンポーネントにはメソッドが付属していないというエラーが表示され続けているので、この問題が発生しています。
この問題に関連するコードは、下のここで見ることができます:あなたは、いくつかの{
と}
そこ
onClick={(e) => this.empaRegister(e); navigate('Register2'); }
に欠ける
import React from 'react';
import ReactNative from 'react-native';
import { AppRegistry,TextInput,View,StyleSheet} from 'react-native';
import { StackNavigator } from 'react-navigation'; //navigation between pages
import { FormLabel, FormInput,Button,Text } from 'react-native-elements'; //ui
import store from '../store/store'
import { Provider } from 'react-redux';
import Register2 from './namefields';
import { register1 } from '../actions/registration'
import {connect} from 'react-redux'
let styles = {}
class Register1 extends React.Component{
constructor (props) {
super(props);
this.state ={
email: '',
password: '',
};
}
empaRegister (e) {
this.props.onRegister1(this.state.email, this.state.password);
e.preventDefault();
}
render() {
const { navigate } = this.props.navigation;
return(
<View>
<FormLabel
containerStyle={styles.labelContainerStyle}>Email</FormLabel>
<FormInput
ref='form2'
containerRef='containerRefYOYO'
textInputRef='textInputRef'
placeholder='Please enter your email address...'
onChangeText = {(newValue) =>this.setState({email:newValue})}
/>
<FormLabel containerStyle={styles.labelContainerStyle}>Password</FormLabel>
<FormInput
ref='form1'
placeholder='Please create a password...'
onChangeText ={(newValue) =>this.setState({password:newValue}) }
/>
<Button title="Next" onClick={(e) => this.empaRegister(e); navigate('Register2'); }/>
</View>
);
}
}
const Application = StackNavigator({
Register1: {screen: Register1 },
Register2: {screen: Register2}
});
const mapDispatchToProps = (dispatch) => {
return {
onRegister1: (email, password) => { dispatch(register1(email, password)); }
}
}
export default connect(mapDispatchToProps)(Register1);