我使用ref
来标记<ScrollView>
中的来自
代码有效,但我不断收到此流错误
Cannot assign input to this.inputs.emailInput because null [1] is
incompatible with object literal [2].
src/authentication/containers/SignIn.js
[ .2] 105│ emailInput: {},
:
199│ }}
200│ placeholder={I18n.t('email')}
201│ ref={(input) => {
202│ this.inputs.emailInput = input;
203│ }}
204│ returnKeyType={'next'}
205│ style={styles.textInput}
/private/tmp/flow/flowlib_3c65178/react.js
[1] 184│ | ((React$ElementRef<ElementType> | null) => mixed)
这是关注代码
输入的定义: 在我的反应组件中
inputs= {
lastNameInput: {},
emailInput: {},
postalCodeInput: {},
phoneNumberInput: {},
};
<TextInput>
函数中的render()
元素:
<TextInput
blurOnSubmit={false}
onChangeText={text => this.setState({ lastName: text })}
onSubmitEditing={() => {
this.inputs.emailInput.focus();
}}
placeholder={I18n.t('lastName')}
ref={(input) => this.inputs.lastNameInput = input}
returnKeyType={'next'}
style={styles.textInput}
underlineColorAndroid="transparent"
value={lastName}
/>
答案 0 :(得分:0)
我认为这是因为ref
回调可以将null传递给您提供的函数。我相信在卸载引用的组件时,它会执行此操作。