Reactjs React App:HashRouter中的映射在迭代组件时出现问题
我正在尝试运行类似以下内容的映射:Reactjs React App:HashRouter中的映射在迭代组件时出现问题,reactjs,dictionary,react-router,Reactjs,Dictionary,React Router,我正在尝试运行类似以下内容的映射: const array=[ { componentName: 'ComponentOne' }, { componentName: 'ComponentTwo' }, ] <Switch> {array.map((object, index) => ( <Route exact path='/correctPath' render={()=><object.componentNa
const array=[
{
componentName: 'ComponentOne'
},
{
componentName: 'ComponentTwo'
},
]
<Switch>
{array.map((object, index) => (
<Route exact path='/correctPath'
render={()=><object.componentName
/>}/>))}
</Switch>
const数组=[
{
componentName:“ComponentOne”
},
{
componentName:'ComponentTwo'
},
]
{array.map((对象,索引)=>(
}/>))}
我得到的错误是不正确的大小写,属性的目标是正确的。该错误还表明组件的大小写是正确的,即使它认为它不是。如果我将参数“object”的所有实例更改为“object”,我将继续得到一个错误,即使该错误以正确的PascalCase显示组件。想法?需要构建一个适当的cased react组件,即PascalCased。另外,不要使用保留javascript关键字的变量名(在任何大小写中),如
Object
更常见的模式是在数组中存储对组件的引用
const array= [
{ component: ComponentOne },
{ component: ComponentTwo },
];
...
<Switch>
{array.map(({ component: Component }, index) => {
// Uses object destructuring to get and rename the component to Component
return (
<Route
exact
path="/correctPath"
render={() => <Component />}
/>
);
})}
</Switch>
const数组=[
{component:ComponentOne},
{component:ComponentTwo},
];
...
{array.map({component:component},index)=>{
//使用对象分解来获取组件并将其重命名为组件
返回(
}
/>
);
})}
pascal的大小写都是Object.ComponentName?另外,Object
指的是内置的js对象,因此可能也会给您带来问题。谢谢您的帮助!