反应本机基本组件

时间:2017-04-30 09:45:24

标签: reactjs react-native

反应原生:

如何创建扩展另一个组件的组件,而不是从react

扩展基本组件

所以而不是:

export default class XXX extends Component {

我需要创建一个类Base

export default class XXX extends Base {

哪里

export default class Base extends Component {

整个想法是创建一个Base组件,将其用作所有其他组件的基类。

3 个答案:

答案 0 :(得分:0)

你可以这样做,但它有一些限制。例如,您无法覆盖父方法。您可以使用props,将therm发送到父组件并在其中调用它们。您还可以使用Higher-Order Components,将逻辑添加到其中,并将渲染方法添加到每个扩展组件中。

答案 1 :(得分:0)

是的,您可以这样做,就像您的问题中所述。

然而,React社区倾向于组合而不是继承:https://facebook.github.io/react/docs/composition-vs-inheritance.html

答案 2 :(得分:0)

是的,只是您必须创建如下所示的基本组件:-

import React, {Component} from 'react';

export default class BaseReact extends React.Component{

    constructor(props){
        super(props)
    }

    navigate=(name)=>{
        const {navigate} = this.props.navigation;
        navigate(name)
    }
}

将该类导入.js文件中:-

import BaseReact from '/*/*/*/*/*/*/screen/BaseReact';

export default class Splash extends BaseReact{

 constructor(props){
    super(props) 
  }
}

可能会帮助您实现目标。

谢谢。