自动更正工作没有作为道具传递?

时间:2018-01-27 13:04:49

标签: react-native components textinput prop

基本上我有一个组件的行为类似于//Input.js import React from 'react'; import { Text, TextInput, View } from 'react-native'; const Input = ({ label, value, onChangeText }) => { const { inputStyle, containerStyle, labelStyle } = styles; return ( <View style={containerStyle}> <Text style={labelStyle}>{ label }</Text> <TextInput style={inputStyle} onChangeText={onChangeText} value={value} /> </View> ); }; ,如下所示

Input

我还有另一个组件利用上面//InputForm.js import React, { Component } from 'react'; import { Button, Card, CardSection, Input } from './common'; class LoginForm extends Component { state = { text: '' }; render() { return ( <Card> <CardSection> <Input autoCorrect={false} value={this.state.text} onChangeText={text => this.setState({ text })} label='Email' /> </CardSection> <CardSection /> <CardSection> <Button> Login </Button> </CardSection> </Card> ); } } export default LoginForm; 组件的输入

Input.js

如第一个label, value, onChangeText清楚地显示,我们只收到InputForm.js作为道具,而在我的autoCorrect中,我正在传递额外的道具Input。现在发生的事情是,自动建议被禁用了。

如果我错了,请纠正我,autoCorrect组件是一个自定义组件,它不应该理解Input.js的意思,因为我从未在var myBook = new Book() { Author = "John S.", ISBN = null }; XmlSerializer xs = new XmlSerializer(typeof(Book)); StringWriter sw = new StringWriter(); xs.Serialize(sw, myBook); Console.WriteLine(sw.ToString() ); 中定义行为。那它为什么有效?

1 个答案:

答案 0 :(得分:0)

自动更正的默认值为true:https://facebook.github.io/react-native/docs/textinput.html#autocorrect

您在第二个示例中看不到任何效果,因为您没有按正确的说法覆盖TextInput中的autoCorrect prop。