javascript - 在 react-native export 上使用大括号时

标签 javascript reactjs react-native

创建一些组件并在日志中导出后显示:

Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.

我读到的关于这个主题的一些答案使关于 react-native 上的导入和导出更加复杂。

所以,疑问是:

如果组件不是用大括号动态导出? 如果没有大括号和默认的动态导出?

最佳答案

答案在这里

没有默认值的导出意味着它是“命名导出”。您可以在一个文件中有多个命名导出。所以如果你这样做,

export class Template {}
export class AnotherTemplate {}

然后您必须使用它们的确切名称导入这些导出。因此,要在另一个文件中使用这些组件,您必须这样做,

import {Template, AnotherTemplate} from './components/templates'

或者,如果您像这样导出为默认导出,

export default class Template {}

然后在另一个文件中导入默认导出而不使用 {},就像这样,

import Template from './components/templates'

每个文件只能有一个默认导出。在 React 中,从文件中导出一个组件是一种惯例,并且将其导出为默认导出。

您可以在导入时自由重命名默认导出,

import TheTemplate from './components/templates'

并且您可以同时导入默认导出和命名导出,

import Template,{AnotherTemplate} from './components/templates'

关于javascript - 在 react-native export 上使用大括号时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51256548/

相关文章:

reactjs - Webpack 4 : WOFF, WOFF2,SVG 加载失败

java - 为移动和 Web 构建混合 Java 应用程序的最佳实践

javascript - React-native - iOS 设备崩溃 "undefined is not an object (evaluating ' s.Manager')"

react-native - React Native ListView - rowHasChanged 不会触发

javascript - 使用 javascript 按字符长度增加字体大小

javascript - 试验 DOM 函数

javascript - 如何使用 forEach 生成连接字符串

android - 无法解析 com.facebook.react :react-native:0. 32.0

javascript - ReactJS - Uncaught Error : Parse Error: Line 27: Unexpected token

javascript - Highcharts:在没有切片动画的情况下更改饼图部分的颜色