reactjs - React Native:将设置从自定义组件传递到 TextInput
问题描述
我有一个名为 TextInputField.js 的自定义组件:
import React from "react";
import {
View,
Text,
TextInput,
StyleSheet
} from "react-native";
const TextInputField = (props) => {
return (
<View style={styles.inputWrapper}>
<Text style={styles.inputLabel}>{props.label}</Text>
<TextInput {...props} style={styles.inputField} />
<Text style={styles.inputCaption}>{props.caption}</Text>
</View>
);
};
export default TextInputField;
我正在使用这样的:
<TextInputField
label='Test'
caption='Sample'
multiline={true}
numberOfLines={4}
onChangeText={(text) => {
onChangeTextHandler(text);
}}
/>
标签和标题工作正常。
这道小吃一切正常。
我的问题是:如何确保我添加的任何设置(如 multiline/numberOfLines={4})被传递并被实际的 TextInput 使用?
解决方案
为了真正确保所有需要的东西都被传递下来,您应该进行道具验证,如此处所述。
React 有一些内置的类型检查能力。要对组件的 props 运行类型检查,您可以分配特殊的 propTypes
你会像这样使用它:
TextInputField.propTypes = {
label: PropTypes.string,
[.....]
};
推荐阅读
- angularjs - 有没有办法用#mdDialog Service 触发 mat-dialog 组件?
- python - 生成多个带有臀部列表的菜单项
- c - 如果我将字符串传递给函数,如何复制字符串中的内容?
- java - 尝试为 Spring Boot App 的黄瓜集成测试加载不同的属性?
- python - 尝试将以下 json 输出为 csv
- xaml - 在 Xamarin 表单中的选项卡式页面内实现主详细信息页面(使用 Prism)
- javascript - 我可以像在 JavaScript 中那样在 PHP 数组中循环吗?
- python - Python setup.py:如何让 find_packages() 识别子目录中的包
- parsing - 如何使用 Parsec 制作子解析器?
- python - 导入后属性未添加到模块