在React中继承常见道具和方法的最佳做法是什么?

时间:2018-04-16 18:32:34

标签: javascript reactjs react-native

我是React的初学者所以请指导我。我想创建一个公共父组件,作为组件实际实现的模板。它将拥有共同的道具和方法。从该组件继承的组件可以以不同的方式操纵props,有些可能会给它提供默认值,有些可能不需要它们等等。它有点像Java中的抽象类。

示例用例: 我想为不同的输入类型(如数字,日期等)制作组件。我想编写一个通用的BaseInputComponent,它看起来像这样:

<BaseInputComponent
   type={..}
   value={..}
   placeholder={..}
   ...
/>

然后我可以编写不同的组件,如

class DateInput extends BaseInputComponent {...}

但我在某处读到这不是一个好习惯。在React中,组合比继承更优选。但我不知道如何在实践中使用它?

1 个答案:

答案 0 :(得分:2)

您可以像这样导入BaseInputComponent

import BaseInputComponent from './baseInputComponent'

class DateInput extends Component{
 constructor(props){
  super(props)
 }
...

 render(){
  return(
   <BaseInputComponent type={date} value='20-12-2018' placeholder='Date' />
  )
 }

}