【问题标题】:How to set static property from constructor on EC6如何在 EC6 上从构造函数设置静态属性
【发布时间】:2017-05-08 07:13:36
【问题描述】:

我希望能够创建一个基类,它允许我通过构造函数设置 React 组件的静态属性。下面的代码是我最终解决方案的摘录,但我无法让它工作。

当我使用 React Native 设置以下类时,它不允许我在构造函数中设置静态属性。任何想法如何使用构造函数设置静态?我需要能够从子类设置标题。

它总是在我的导航组件上显示“第一个标题”。

class HomeScreen extends React.Component {

  static navigationOptions = {
    title: 'first title',
  };

  constructor(){
    super();
    HomeScreen.navigationOptions.title = 'second title';
  }

【问题讨论】:

  • 这到底是什么意思,“不让我”?
  • React-native 实例化组件时很抱歉。
  • 我更新了好吗?
  • 一开始为什么要在构造函数中更新呢?这意味着 HomeScreen 的标题是“第一个标题”,直到它被实例化一次之后它是“第二个标题”......?!
  • 这只是摘录。我希望能够创建一个包含该静态类型的基类,因为我不想将静态类型耦合到我的组件的所有副本。我想把它移出来,然后只使用构造函数来设置标题。

标签: javascript react-native ecmascript-6


【解决方案1】:

猜测您想将标题设置为道具的功能。将 prop(s) 作为导航参数传递,您将可以像这样访问它们:

static navigationOptions = ({ navigation, screenProps }) => ({
    title: `Profile for ${navigation.state.params.profileName}`
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    • 2019-11-04
    • 2013-11-08
    • 1970-01-01
    相关资源
    最近更新 更多