创建一些组件并在日志中导出后显示:
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/