【问题标题】:In React Native why is the const type used for in for example: const { navigate } = this.props.navigation;?在 React Native 中为什么要使用 const 类型,例如:const { navigate } = this.props.navigation;?
【发布时间】:2017-11-29 21:15:48
【问题描述】:

我正在为学校做一个项目并使用 react native。诚然,我在 JavaScript 方面是新手。我不明白为什么在React Navigation tutorial 他们使用 const 类型。

class HomeScreen extends React.Component {
  static navigationOptions = {
    title: 'Welcome',
  };
  render() {
    const { navigate } = this.props.navigation;
    return (
      <View>
        <Text>Hello, Chat App!</Text>
        <Button
          onPress={() => navigate('Chat')}
          title="Chat with Lucy"
        />
      </View>
    );
  }
}

所以我的问题是: const 类型用于const { navigate } = this.props.navigation; 是否有特殊或重要的原因

【问题讨论】:

  • 为什么不呢? navigate 函数不会以任何方式改变。它只是一个简写,所以你可以写 navigate('Chat') 而不是完整的标识符。

标签: javascript react-native types stack-navigator


【解决方案1】:

const 关键字用于创建常量 变量。常量就像您可能习惯使用的变量一样,只是它们不能被修改。

这里使用它是因为变量没有在组件的render 方法中更改。如果props 发生变化,那么组件将被重新渲染并重新创建变量。

【讨论】:

  • 谢谢,在这个 React Native Stack Navigator 示例中是否有理由认为它应该是 const 类型而不是 var?
  • @ChristopherReyes 他们在这里使用const,因为您不想在构建render 方法时意外覆盖navigate。这就是类型系统(在 Swift 和 TypeScript 等语言中)很棒的原因!
  • 谢谢!现在看起来很明显,但这个答案有助于理解。
  • 只是为了澄清您的问题,您完全可以使用letvar,它仍然可以工作。 const 只是在这种情况下使用的最佳选择,因为您要声明一个常量并且不允许它被覆盖。
【解决方案2】:

const 关键字用于创建常量变量。 ...在这里使用它是因为变量没有在组件的渲染方法中更改。如果 props 发生变化,则组件将重新渲染并重新创建变量。强调文本

【讨论】:

    【解决方案3】:

    如果您想了解有关此主题的更多信息,可以点击链接 https://facebook.github.io/react-native/docs/javascript- 环境#javascript-runtime

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-23
      • 2017-05-28
      • 1970-01-01
      • 2022-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-14
      相关资源
      最近更新 更多