在反应原生组件中使用类作为道具

时间:2018-02-20 23:04:52

标签: react-native ecmascript-6 flowtype es6-class es6-modules

我的学习反应(来自原生的iOS / Swift背景),我对能够开展工作的事情感到有些困惑。

我有一个接受道具的组件,所以我想我会编写一个类来模拟这些道具:

class HeaderProps {
  text: string;
  constructor(headerText:string) {
    this.text = headerText;
  }
}

// Make a component
const Header = (props:HeaderProps) => {

  const { textStyle, viewStyle } = styles;

  return (
    <View style={viewStyle}>
      <Text style={textStyle}>{props.text}</Text>
    </View>
  );
};

我从我的组件中导出如下:

export {Header, HeaderProps};

我然后导入它:

import {Header, HeaderProps} from './src/components/header';

// Create a component
const App = () => ( <Header headerText={ new HeaderProps('Album') } />);

我的组件中没有出现任何文字。

如果我只是将一个字符串作为道具传递它可以正常工作,就不会想到为什么发送一个课程无法正常工作。

我使用流类型来声明我的参数类型,不确定这是否会导致任何问题。

非常感谢正确方向的一点!

0 个答案:

没有答案