Javascript React-Native-如何替换React-Native核心组件的功能
我已经创建了一个web应用程序,需要将其转换为react本机ios应用程序。 我已经为web应用程序创建了一个TextInput小部件,它比react原生TextInput组件做的更多Javascript React-Native-如何替换React-Native核心组件的功能,javascript,reactjs,react-native,react-native-ios,Javascript,Reactjs,React Native,React Native Ios,我已经创建了一个web应用程序,需要将其转换为react本机ios应用程序。 我已经为web应用程序创建了一个TextInput小部件,它比react原生TextInput组件做的更多 如何覆盖TextInput的核心功能,例如onchange方法 如何向TextInput添加额外功能 web应用程序的TextInput小部件是用JavaScript编写的。如果可能的话,我想避开objective-C 谢谢。如果我理解正确,您在这里不需要做任何特定的事情。您只需使用标准react技术向现有组件添
谢谢。如果我理解正确,您在这里不需要做任何特定的事情。您只需使用标准react技术向现有组件添加功能。因此,您可以创建一个封装TextInput的组件,它允许您传递任何支持TextInput接受的想法。您还可以为组件提供额外的道具以满足其他需求
import * as React from 'react';
import {
TextInput
} from 'react-native';
class CustomInput extends React.Component {
constructor(props) {
this.state = {text: 'default text'}
}
render(): JSX.Element {
return (
<TextInput
{...this.props} // pass through props
value={this.state.text}
onChangeText={this.onChangeText} // update value as usual
onChange={this.props.doSomethingSpecial} // call custom prop function for custom behaviour
/>
);
}
onChangeText = (text) => {
this.setState({text});
}
}
export default CustomInput;
import*as React from'React';
导入{
文本输入框
}从“反应本机”;
类CustomInput扩展了React.Component{
建造师(道具){
this.state={text:'default text'}
}
render():JSX.Element{
返回(
);
}
onChangeText=(文本)=>{
this.setState({text});
}
}
导出默认自定义输入;
我真的不明白如何覆盖onChange,因为它只是一个回调函数,不做任何事情。您喜欢更改或做什么?更改onChange只是许多场景中的一种。我需要知道我是否可以覆盖或更改TextInput采用的参数的功能。谢谢。你不应该(也可能不能)覆盖核心功能。一个简单的组件装饰器不适合你吗?