基本上我有一个组件的行为类似于//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() );
中定义行为。那它为什么有效?
答案 0 :(得分:0)
自动更正的默认值为true:https://facebook.github.io/react-native/docs/textinput.html#autocorrect
您在第二个示例中看不到任何效果,因为您没有按正确的说法覆盖TextInput中的autoCorrect prop。