【发布时间】:2021-10-21 09:28:49
【问题描述】:
我需要使用来自 api 请求的项目来填充菜单。
我做了一些样品; const items。有些菜单项有子项,子项也可以有子项,所以我需要嵌套几级菜单项。
我用 react-native-collapsible 中的 Collapsible 制作了一个 Accordion(),并为没有子项的项目制作了一个 AccordionItem()。
function App() 呈现菜单项两次。一次通过手动添加Accordions 和AccordionItems,一次通过映射items[]。 RootMenuItem() 为每个顶级项目调用并通过递归呈现该项目及其子项目。
当手动添加每个项目时,它会按照我想要的方式工作。我需要以编程方式填充菜单,但 RootMenuItem() 呈现的嵌套手风琴在 android 和 iOS 上表现不佳。在snack.io 上进行网络测试时,它似乎工作正常。
这是我完整的 App.js 的一个点心: https://snack.expo.dev/@dissar/nested-collapsibles
我做错了吗? 有没有人有任何提示可以更好地做到这一点?
PS:在snack.io 上测试时,动态渲染的项目有奇怪的宽度,但不用担心。
【问题讨论】:
标签: react-native expo accordion react-native-collapsible