javascript - 与路由器一起使用时反应面包屑抛出错误
问题描述
与路由器一起使用时,React Breadcrumbs 会引发一些错误。
我正在按照本教程进行实施。
http://learnreact.robbestad.com/breadcrumbs
下面是代码:
var Breadcrumbs = require('react-breadcrumbs');
const Routes = () => (
<BrowserRouter>
<div>
<Header />
<MegaMenu />
{Breadcrumbs}
<Route exact path='/' name='HomePage' component={HomePage}/>
<Route path='/celebrity' name='Celebrities' component={Celebrities}/>
<Route path='/axios' name='Axios' component={Axios}/>
<Route path='/brands' name='Brands' component={Brands}/>
<Footer />
</div>
</BrowserRouter>
);
export default Routes;
以下是错误:
对象作为 React 子对象无效(找到:带有键 {Breadcrumb, Breadcrumbs} 的对象)。如果您打算渲染一组子项,请改用数组。
解决方案
您不应该直接传递引用,而是使用它,React.createElement
或者换句话说,在JSX
你应该做的土地上只是<Breadcrumbs />
.
如果您仔细查看您发布的链接中的代码(http://learnreact.robbestad.com/breadcrumbs):
var Breadcrumbs = require('react-breadcrumbs');
MyComponent = React.createClass({
render: function() {
return (
<div>
<Breadcrumbs />{/* You see it here, <Breadcrumbs /> not {Breadcrumbs} */}
</div>
);
}
});
它创建了新的 React 元素,现在让我们检查您的代码:
var Breadcrumbs = require('react-breadcrumbs');
const Routes = () => (
<BrowserRouter>
<div>
<Header />
<MegaMenu />
{Breadcrumbs}{/* <-------- Here is the issue */}
<Route exact path='/' name='HomePage' component={HomePage}/>
<Route path='/celebrity' name='Celebrities' component={Celebrities}/>
<Route path='/axios' name='Axios' component={Axios}/>
<Route path='/brands' name='Brands' component={Brands}/>
<Footer />
</div>
</BrowserRouter>
);
export default Routes;
如果您替换{Bredcrumbs}
为<Breadcrumbs />
,它应该可以工作:
var Breadcrumbs = require('react-breadcrumbs');
const Routes = () => (
<BrowserRouter>
<div>
<Header />
<MegaMenu />
<Breadcrumbs />
<Route exact path='/' name='HomePage' component={HomePage}/>
<Route path='/celebrity' name='Celebrities' component={Celebrities}/>
<Route path='/axios' name='Axios' component={Axios}/>
<Route path='/brands' name='Brands' component={Brands}/>
<Footer />
</div>
</BrowserRouter>
);
export default Routes;
您可以在 React 官方文档中阅读更多关于 JSX 的信息: https ://reactjs.org/docs/introducing-jsx.html
推荐阅读
- python - 打印第一个字母的含义
- sparse-matrix - 使用具有 COO 格式的 mkl_sparse_?_mm 但返回“无效值”
- python - PyTorch:`torch.chunk` 源代码 Github location
- javascript - 选择选项上的 Vue 更新道具
- c# - 如何在最接近的“青铜”周围创建一个实例化我的边框,并在不再最接近时破坏边框?
- c# - 如何将 OkObjectResult 转换为 List<>?
- javascript - CSS类的对面
- .net-core - 如何停止 blazor @onclick 重新渲染页面
- go - func NamedExec 有什么问题?
- javascript - Material-UI RadioGroup - 无法识别对当前选定 Radio 的点击