Как передать значение TextInput в React native для действия mobx? - PullRequest
0 голосов
/ 21 мая 2018

Я хочу передать значение ввода текста в TestStore (mobx), чтобы в основном предупредить о введенном значении, может кто-нибудь сказать мне, как я этого добиваюсь.

Спасибо

У меня есть следующий код:

Home.js:

<TextInput style={[
  !this.state.email ? { borderWidth: 3, borderColor: 'red' } : null]}
  onChangeText={(text) => this.validate(text, 'email')}
  value={this.state.email}
  maxLength={100} 
/>

<TouchableOpacity style={
  [{
    width: '70%',
    backgroundColor: this.state.buttonInvalid ? '#607D8B' : '#009688' }
  ]} 
  activeOpacity={.5}
  disabled={this.state.buttonInvalid}
  onPress={this.props.testStore.alert}
>
  <Text>Submit</Text>
</TouchableOpacity>

TestStore.js:

 import { observable, action } from "mobx";

 export default class TestStore {

   @observable email = null;
     @action alert = () => {  
        alert('The value you entered is '); 
    }
}

1 Ответ

0 голосов
/ 21 мая 2018

ОК, решил, изменил кнопку на следующий код:

<TouchableOpacity style={
  [{
    width: '70%',
    backgroundColor: this.state.buttonInvalid ? '#607D8B' : '#009688' }
  ]} 
  activeOpacity={.5}
  disabled={this.state.buttonInvalid}
 onPress={() => this.props.testStore.alert(this.state.email)}
>
  <Text>Submit</Text>
</TouchableOpacity>
...