【问题标题】:What does `import type {Node} from 'react';` and usage in App: () => Node`import type {Node} from 'react';` 和 App 中的用法是什么:() => Node
【发布时间】:2021-09-19 20:44:20
【问题描述】:

运行这个命令:

npx react-native init AwesomeProject

App.js 文件中我不明白 2 行:

import React from 'react';
import type {Node} from 'react';  // 1
import {
  SafeAreaView,
  ScrollView,
 // ..... Code .... 

const App: () => Node = () => {  // 2
   // ..... Code .... 


export default App;
  1. 导入类型节点

    按照Is there a point to doing 'import type' rather than 'import' with Flow?,我了解到这种导入是用来导入一个类型的对象,例如:

    import type { Array, Object, ... } from 'wherever';
    

    说实话,我更关心下一点(如果我明白我也会自动得到这个)。

  2. const App: () => Node = () =>

    我所看到的只是 App 是一个 变量,它引用了一个函数,该函数返回一个 Node 类型的对象,这 Object 也是一个函数。它是否将应用程序包装到“反应”实例或其他东西中?

【问题讨论】:

  • () => Node类型

标签: javascript node.js reactjs react-native import


【解决方案1】:

const App: () => Node = () => 有什么作用以及为什么要使用它?

如果我们去掉类型,代码是:

const App = () => {
  // ... code
}

这是一个反应功能组件。

然后在上面添加一个类型:() => Node。这意味着它是一个不带参数并返回反应Node 的函数。类型通过让计算机更好地分析代码并更快地指出错误(甚至在运行代码之前)来帮助开发

【讨论】:

  • 另外,这个节点的来源是否有文档或源代码?因为 Node 在编程的不同主题中被广泛使用,我找不到任何特定于 React 的东西
  • ok , so is not mandatory yes? 正确,如果您不想使用,则不需要使用流(或打字稿)。 is there a documentation or Source code from where this Node come from 你的编辑器可能会让你点击查看 React 节点的类型定义。但它只是一种描述组件可以返回什么东西的类型。所以 JSX 元素(例如,<div/>)、null、布尔值、数字、字符串或这些东西的数组。
猜你喜欢
  • 2019-07-02
  • 2018-11-29
  • 2016-12-26
  • 2020-02-05
  • 2020-07-06
  • 2019-06-07
  • 1970-01-01
  • 1970-01-01
  • 2022-10-21
相关资源
最近更新 更多