Я использую NativeBase
и ReactNavigation
.
На LoginScreen иногда у нас есть пустой ввод для электронной почты, а иногда заполненный defaultValue
(когда мы перенаправлены на LoginScreen из SignUpScreen).
const defaultEmail = this.props.navigation.getParam('email', '');
<Input
placeholder="Email"
defaultValue={defaultEmail}
onChangeText={email => this.setState({ email })}
/>
Если мы не изменим поле, произойдет сбой входа, так как состояние не содержит значения по умолчанию.
Я пытался сделать this.setState('email':'defaultEmail')
в функции рендеринга (и я полагаю, это устарело, и я получаю бесконечный цикл), я пытался переместить эту логику в componentDidMount
, componentWillMount
, но это неработать тоже, я полагаю, на этом этапе жизненного цикла компонента у нас нет навигационных реквизитов.Я не проверял идею сделать это с рефери.
Вопрос: как схватить defaultValue
до состояния?