Javascript 如何覆盖React本机组件?
亲爱的朋友,我正在尝试覆盖react本机组件中的一个方法,请告诉我如何实现这一点Javascript 如何覆盖React本机组件?,javascript,reactjs,react-native,Javascript,Reactjs,React Native,亲爱的朋友,我正在尝试覆盖react本机组件中的一个方法,请告诉我如何实现这一点 // BaseButton.js import React, { Component } from 'react' import { View, Button } from 'react-native' export default class BaseButton extends Component { onPress = () => { console.log('Test')
// BaseButton.js
import React, { Component } from 'react'
import { View, Button } from 'react-native'
export default class BaseButton extends Component {
onPress = () => {
console.log('Test')
}
render() {
return (
<View>
<Button
title="Press me"
disabled
onPress={() => this.onPress()}
/>
</View>
)
}
}
//BaseButton.js
从“React”导入React,{Component}
从“react native”导入{View,Button}
导出默认类BaseButton扩展组件{
onPress=()=>{
console.log('Test')
}
render(){
返回(
这是.onPress()}
/>
)
}
}
//HomeScreen.js
从“React”导入React,{Component}
从“./Components/BaseButton”导入BaseButton
BaseButton.prototype.onPress=()=>{
console.log('Overrided…');
}
导出默认类主屏幕扩展组件{
render(){
返回(
)
}
}
据我所知,没有所谓的组件覆盖。但若您想要自定义组件,那个么您可以使用另一个组件进行包装,您可以使用道具访问组件的默认功能,对于其他功能,您可以在包装器组件内创建自己的状态和道具
请参考以下链接了解react原生道具,
据我所知,没有所谓的组件覆盖。但若您想要自定义组件,那个么您可以使用另一个组件进行包装,您可以使用道具访问组件的默认功能,对于其他功能,您可以在包装器组件内创建自己的状态和道具 请参考以下链接了解react原生道具,
你只需借助道具就可以做到这一点
//BaseButton.js
从“React”导入React,{Component};
从“react native”导入{View,Button};
导出默认类BaseButton扩展组件{
onPress=()=>{
console.log('Test');
};
render(){
返回(
);
}
}
//HomeScreen.js
从“React”导入React,{Component};
从“./Components/BaseButton”导入BaseButton;
导出默认类主屏幕扩展组件{
render(){
返回(
{
console.log('Overrided…');
}}
/>
);
}
}
您只需使用道具即可完成
//BaseButton.js
从“React”导入React,{Component};
从“react native”导入{View,Button};
导出默认类BaseButton扩展组件{
onPress=()=>{
console.log('Test');
};
render(){
返回(
);
}
}
//HomeScreen.js
从“React”导入React,{Component};
从“./Components/BaseButton”导入BaseButton;
导出默认类主屏幕扩展组件{
render(){
返回(
{
console.log('Overrided…');
}}
/>
);
}
}
它在React中的工作原理并非如此。编写BaseButton
并向其传递一个onPress
处理程序。它在React中的工作方式并非如此。编写BaseButton
并将onPress
处理程序传递给它。
// HomeScreen.js
import React, { Component } from 'react'
import BaseButton from './Components/BaseButton'
BaseButton.prototype.onPress = () => {
console.log('Overrided...');
}
export default class HomeScreen extends Component {
render(){
return(
<BaseButton />
)
}
}