【问题标题】:Difference between Component{} vs Component<Props>{} in react/react native?react/react native 中 Component{} 与 Component<Props>{} 之间的区别?
【发布时间】:2019-04-22 03:09:46
【问题描述】:

我已经设置了react native 环境。当我第一次打开App.js 时,我发现:

class MyApp extends Component<Props>{
    ...
}

通常我们会这样做:

class MyApp extends Component{
    ...
}

请谁能说出&lt;Props&gt; 是什么以及为什么我们在react/react native 中使用&lt;Props&gt;?一个例子会更受欢迎。

【问题讨论】:

  • &lt;Props&gt; 部分告诉编译器/代码编辑器在创建组件时将什么类型的变量传递给构造函数。它根本不需要并且可以删除,但是当您不确定需要什么类型的变量时,它可以在相当大的代码库中发挥作用。
  • 一句话,输入安全。或者两个我猜。
  • 如果某人的回答解决了您的问题,您可能希望使用大复选框接受它作为答案。 i.stack.imgur.com/QpogP.png

标签: javascript reactjs react-native ecmascript-6 jsx


【解决方案1】:

您正在查看的代码实际上是使用 Flow 类型。 Flow 是 Facebook 为 JavaScript 开发的静态类型检查器。

参考:https://flow.org/en/docs/react/components/

【讨论】:

  • 当我阅读文档基础知识时,这个流程模块是否已经安装在 react native 中?
  • @DhuBytes 这取决于你如何设置你的 react-native 环境。例如使用 create-react-native-app 还是手动?你可以检查babel-plugin-react-flow-props-to-prop-types目录是否存在于node_modules目录中
  • 不,如果 指令存在于 App.js 中,那么它只是意味着 flow 模块也安装了,对吧?
  • 我在做原生开发,所以,我找到了
  • 应该可以安装了。请更新您的问题以添加“您如何设置项目?”您可以快速构建并运行您的项目以检查其是否正常工作?如果 flow 没有配置 babel,它将不会构建
猜你喜欢
  • 2021-02-21
  • 2020-11-15
  • 1970-01-01
  • 2021-02-01
  • 1970-01-01
  • 2017-06-05
  • 2019-09-23
  • 2019-12-29
  • 1970-01-01
相关资源
最近更新 更多