Javascript 数组键中的Object.entries
我试图在组件中显示路由器名称,具体取决于路径名。我下面的代码工作正常,但我不喜欢在代码中执行Javascript 数组键中的Object.entries,javascript,Javascript,我试图在组件中显示路由器名称,具体取决于路径名。我下面的代码工作正常,但我不喜欢在代码中执行route[1]。这很难辨认,我不知道是否可以写得更好 routes.js: export default { login: { name: <FormattedMessage {...loginMessages.login} />, path: '/login', }, register: { name: <FormattedMessage {...
route[1]
。这很难辨认,我不知道是否可以写得更好
routes.js:
export default {
login: {
name: <FormattedMessage {...loginMessages.login} />,
path: '/login',
},
register: {
name: <FormattedMessage {...registerMessages.registration} />,
path: '/register',
},
dashboard: {
name: <FormattedMessage {...dashboardMessages.dashboard} />,
path: '/dashboard',
},
};
导出默认值{
登录:{
姓名:,
路径:'/login',
},
登记册:{
姓名:,
路径:“/寄存器”,
},
仪表板:{
姓名:,
路径:'/dashboard',
},
};
组成部分:
import { routes } from 'utils';
...
{Object.entries(routes).map(
(route) =>
route[1].path === pathname && (
<div key={route[1].path}>{route[1].name}</div>
),
)}
...
从“utils”导入{routes};
...
{Object.entries(routes.map)(
(路线)=>
路由[1]。路径===路径名&&(
{路由[1]。名称}
),
)}
...
将组件重写为:
import { routes } from 'utils';
...
{Object.values(routes).map(
(route,index) =>
index == 1 && //whatever index you want
route.path === pathname && (
<div key={route.path}>{route.name}</div>
),
)}
...
从“utils”导入{routes};
...
{Object.values(routes.map)(
(路线、索引)=>
index==1&&//
route.path==路径名&&(
{route.name}
),
)}
...
将组件重写为:
import { routes } from 'utils';
...
{Object.values(routes).map(
(route,index) =>
index == 1 && //whatever index you want
route.path === pathname && (
<div key={route.path}>{route.name}</div>
),
)}
...
从“utils”导入{routes};
...
{Object.values(routes.map)(
(路线、索引)=>
index==1&&//
route.path==路径名&&(
{route.name}
),
)}
...
将(route)=>
更改为({1:route})=>
,然后route.path
或者更确切地说Object.entries
使用Object.values
如果routes是一个数组,为什么不routes.map
?@AZ_uuu>或者([,route=>
)查看它是一个数组。虽然我不确定OP是否在这里使用.values
,如果不需要键的话。@VLAZ,是的,这也可以完成任务。:)将(route)=>
更改为({1:route})=>
,然后route.path
或者更确切地说Object.entries
使用Object.value
如果routes是一个数组,为什么不routes.map
或者([,route])=>
查看它是一个数组。虽然我不确定OP是否在这里使用.values
,如果不需要键的话。@VLAZ,是的,这也可以完成任务。:)