【发布时间】:2017-08-11 02:48:07
【问题描述】:
我已经四处搜索...找不到我要找的东西,所以我很感激任何帮助!这就是我的目标:
我正在为 React Native 应用构建类似 CMS 的设置。这样,应用程序的管理员就可以登录到 CMS 仪表板,并更新应用程序的页面/视图,而无需进入硬编码。我希望他们能够从预设的组件列表中进行选择,并能够以他们想要的任何顺序将它们拖放到应用程序中,并且能够更新内容和颜色等。让我举个例子……
我想象有一个主页,顶部有一个旋转横幅,然后是一个用于信息模式的按钮,然后是一组用于转到子子页面的菜单链接。
所以我认为,在开发方面,是给应用管理员一个所见即所得类型的设置,并将结果存储在数据库中。它可以在数据库中存储为:
<RotatingBanner />
<Modal />
<ContentMenu>
<ContentMenuLink title="About" />
<ContentMenuLink title="Competitive" />
<ContentMenuLink title="Recreational" />
<ContentMenuLink title="Tournaments" />
<ContentMenu />
现在,当我尝试将它呈现到屏幕上时,我会继续让它呈现为实际的单词与它们所代表的组件,如果这有意义的话。所以页面看起来就像上面的代码块,而不是看到一个旋转的横幅和模式等。
我尝试了一种将 HTML 转换为 React Native 元素的工具...有人知道我如何转换获取的 JSON 格式,如下所示:
{content: "<RotatingBanner /><Modal /><ContentMenu>...."}
并让它在渲染函数中创建真正的组件?如果您愿意,我们将不胜感激有关创建此类 CMS 的任何其他想法或想法/建议。
谢谢!
【问题讨论】:
-
那么你基本上需要的是一个json控制的视图,对吧?您可以通过首先创建组件来简单地实现这种需求。像内容菜单、旋转横幅等,然后用地图功能渲染它们。 ` return this.jsonResponseElementsArray.map((value, index)=>{ switch(value) { case 'rotatingBanner': return
} });` 我不能确定这是不是你想要的。如果我可以进一步帮助您,请告诉我 -
感谢您的输入...是的,我们的想法是之前已经创建了组件。然后在管理 CMS 区域中,管理员可以简单地选择并重新排序他们认为合适的,然后提交。这会将它作为我给出的 JSON 中的示例“内容”提交到数据库。我感到困惑的部分是如何呈现该内容。你给出了“this.jsonResponseElementsArray.map.......”的例子。我将不得不尝试一下,看看它是如何运作的,但似乎我必须让它意识到“价值”是每个元素
-
我的意思是 AFAIK,你不能从 json 请求中渲染视图和文本。您应该在编码时明确告知内容。对于我的示例,每个值只是特定组件的字符串。而已。更像一张地图
-
Gotcha ...好吧,我想我的基本问题是如何从 JSON 请求中呈现它。我想我将不得不继续思考如何制作这个 RN CMS。感谢您的意见
标签: json reactjs react-native