我将如何呈现一个带有嵌套<ul>
项目的菜单,而该嵌套项目的子对象数量不明,如下面的示例所示,该对象的反应如何?
[
{
title: "Top level 1",
slug: "top-level-1",
children: [
{
title: "Sub level 1",
slug: "sub-level-1",
children: [
{
title: "Sub Sub Level 1"
slug: "sub-sub-level-1"
}
]
}
{
title: "Sub level 2",
slug: "sub-level-2"
}
]
},
{
title: "Top level 2",
slug: "top-level 2"
}
]
Codesandbox示例
您只需要递归调用Menu组件,其子组件即可显示并作为数据道具传递。
let data = [
{
title: "Top level 1",
slug: "top-level-1",
children: [
{
title: "Sub level 1",
slug: "sub-level-1",
children: [
{
title: "Sub Sub Level 1",
slug: "sub-sub-level-1",
children: [
{
title: "Sub Sub Level 2",
slug: "sub-sub-level-2"
}
]
}
]
},
{
title: "Sub level 2",
slug: "sub-level-2"
}
]
},
{
title: "Top level 2",
slug: "top-level 2"
}
];
const Menu = ({data}) => {
return (
<ul>
{data.map(m => {
return (<li>
{m.title}
{m.children && <Menu data={m.children} />}
</li>);
})}
</ul>
);
}
const App = () => (
<div style={styles}>
<Hello name="CodeSandbox" />
<h2>Start editing to see some magic happen {'\u2728'}</h2>
<Menu data={data} />
</div>
);
问题内容: 我映射了多个对象。 我如何嵌套一个循环,以便首先遍历对象,然后遍历(在此示例中)城市?谢谢! 我的没有嵌套外观的渲染函数如下所示: 城市对象示例: 问题答案: 您可以使用嵌套映射来映射内部子对象以及
问题内容: 我有一个带有以下渲染的组件: policyLegend是一个对象数组,每个对象内都有一个“值”数组。 构建应用程序时,我没有收到任何错误,但是在组件页面上没有任何显示。我不确定我要去哪里错,请多多指教,谢谢。 问题答案: 这是因为您没有在policyLegend映射内返回任何内容。试试这个:
问题内容: 我在尝试使用数据数组呈现元素时遇到问题。在的下面的代码中,可以正常工作,但列表项未出现。 我究竟做错了什么?请随时指出并非最佳做法的任何内容。 问题答案: GoshaArinich是正确的,您应该返回您的元素。但是,在这种情况下,您应该在浏览器控制台中收到讨厌的红色警告 数组或迭代器中的每个子代都应具有唯一的“键”道具。 因此,您需要在列表中添加“键”: 或使用es6 箭头功能放下并做
问题内容: 我的React组件有问题。我组件的嵌套子代似乎没有渲染。这是我的代码: 我在此文件的顶部有以下两行: 这是我的组件: 我努力了: 以完整的HTML标记调用组件(打开和关闭) 将组件嵌套在组件中(在index.jsx文件中) 我知道嵌套组件是可能的。我已经看到了。由于某种原因,它对我不起作用。 问题答案: 要允许组件包含子项并正确渲染它们,必须使用。这是传递到所有组件与孩子为道具,包含组
问题内容: 我试图将我的一些路由与React Router v4一起分组以清理一些组件。现在,我只想将非登录路由组和管理路由分组在一起,但是以下操作无效。 main.js public.js Greeting组件显示在“ localhost:3000 /”,但SignupPage组件显示在“ localhost:3000 / signup”,而Login组件不显示在“ localhost:3000
问题内容: 我有一个具有与组件本身相同类型的子组件的组件。我也可以渲染孩子,但是孩子似乎无法访问他们的状态。我在Redux中使用React 另外,我正在使用Material-ui中的ListItem(它们最终呈现在List组件中),并且我的代码受到官方redux回购中的树视图示例的严重影响。我的状态如下所示: 所示状态与树状示例中的状态相同 问题答案: 好吧,如果我理解正确,那么您希望这些组件从r