【问题标题】:How does one import a child component in react?如何在反应中导入子组件?
【发布时间】:2018-02-21 22:29:38
【问题描述】:

外部包含的组件和外部文件

  class NavigationBarContainer extends React.PureComponent {
 render = () => <NavigationBar extraBanner={<Banner 
   />} {...this.props} />

}

在我的应用中

   import NavigationBar from '../components/NavigationBar'

    <NavigationBar
      extraBanner />

好像没用

  import NavigationBarContainer from '../components/NavigationBar'
     <NavigationBarContainer {...this.props}>

下面出现错误似乎不起作用

**Invalid prop extraBanner of type boolean supplied to NavigationBar, expected a single ReactElement.**

【问题讨论】:

  • 你没有在第一个文件“export class NavigationBarContainer”中导出你的类
  • extraBanner 道具在您的代码中没有返回任何内容,该道具的目的是什么?或者多解释一点来帮助你。

标签: reactjs ecmascript-6 jsx


【解决方案1】:

这里有两个可能的问题。

1) NavigationBarContainer 未导出,因此无法导入。

您可以通过以下两种方式之一导出类来解决此问题 - 更改类声明以包含 export 关键字

export default class NavigationBarContainer extends React.PureComponent

或在该文件的底部添加一行

export default NavigationBarContainer;

2) 您正尝试从名为 NavigationBar 的文件中导入名为 NavigationBarContainer 的组件。如果该文件名为NavigationBarContainer,那么这将不起作用。确保您的文件名正确。


exportexport default 和导入的快速总结

export default

默认导出在导入时可以任意命名,例如。

// components/MyComponent.js
export default class MyComponent extends React.Component {...}

// AnotherFile.js
import MyComponent from 'components/MyComponent'; // works
import WhateverName from 'components/MyComponent'; // also works

export

当您不使用 default 关键字时,您将进行命名导出。这些必须直接按名称导入,使用以下语法:

// components/SmallComponents.js
export class SmallComponent1 extends React.Component {...}
export class SmallComponent2 extends React.Component {...}

// AnotherFile.js
import {SmallComponent1, SmallComponent2} from 'components/SmallComponents'; // works
import SmallComponent1 from 'components/SmallComponents' // does not work
import {WhateverName} from 'components/SmallComponents' // does not work

希望这会有所帮助!

【讨论】:

  • 实际上我确实将导出添加到问题中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-01
  • 1970-01-01
  • 2021-04-27
  • 2023-03-07
  • 2021-07-26
相关资源
最近更新 更多