我使用带有react-native的redux-form,并且由于某种原因,当用户将第一个char键入输入时,表单的状态从 dirty
变为 pristine
,键盘被隐藏,屏幕闪烁 . 这种情况发生在Android Nexus 5X设备上 .
查看组件:
const TextField = ({placeholder: p, ...props}) =>
<Field {...props}
component={({input}) => {
return <TextInput
value={input.value}
onChange={input.onChange}
secureTextEntry={props.type === 'password'}
placeholder={p}
/>
}}/>
const Login = ({submit}) =>
<View>
<Text>You need to log in</Text>
<TextField placeholder="Name"
name="name"/>
<Button title="Login" onPress={submit}/>
</View>
export default login(Login)
login
是包含在内的HOC
reduxForm({
form: 'login',
initialValues: {
name: 'a',
},
onSubmit: vals => {
console.log('submitting', vals)
}
})
react-native中的什么样的事件可以创建这样的行为?
1 回答
所以最后问题与redux-form无关,而是使用内联匿名组件
这只是为了'原型'目的而被忽略了 .
通常像
const TextFieldComponent = ({input}) => ...
一样声明组件解决了这个问题 .