在我的React项目中,我想用一些道具渲染一些组件,这些道具是从一个对象传递过来的(该对象没有'name'键!!!)。 在此组件中,我具有渲染条件,在该条件中,我比较了props中传递的组件。 在这种情况下,我链接到组件功能的名称,因为我不想将Component_1导入到ParentComponent。 这是我的代码:
我试图重写渲染条件并修复了我的错误!
gremlin_client = client.Client('ws://{}:{}/gremlin'.format('localhost', 8192), 'g', message_serializer=serializer.GraphSONSerializersV3d0())
command = "filtered_edges = g.V().filter(bothE().limit(50).count().is(lt(50))).outE().toList(); subgraph = g.E(filtered_edges).subgraph('subGraph').cap('subGraph').next(); l = subgraph.traversal();"
gremlin_client.submit(command).all().result()
问题:在开发模式下它呈现无错误,但在生产模式下我处于条件错误-component.name不等于'Component_1'(例如:等于't')。 我的想法-这是因为在生产捆绑包中,函数名称已被最小化,而React无法验证条件。 您还有其他想法为什么我不能引用函数名称吗?
答案 0 :(得分:0)
在生产模式下,不要将名称与纯字符串进行比较。相反,你可以试试这个
return (
{component.name === Component_1.name ? Component_1 : Component_2}
);
并且因为您返回 Component_1
和 Component_2
,我想您必须以任何一种方式导入这两个组件。