下面是我的代码:
<Link
state={{"contact":contact}}
to="/admin/contact/Edit"
>
<Button variant="warning"><Pencil/></Button>
</Link>
在目的地中,我可以通过以下编码获得联系人对象:
let data = useLocation();
console.log(data.state.contact);
我希望字段名是动态的。所以,我尝试了以下编码,不幸的是,在目的地,我无法获得联系人对象。
let fieldName="contact";
return(
<Link
state={{ fieldName:contact}}
to="/admin/contact/Edit"
>
<Button variant="warning"><Pencil/></Button>
</Link>
);
我怎样才能使它工作?
如果你的意思是属性键是动态的,那么代码看起来更像下面的:
<Link
state={{ [fieldName]: contact }}
to="/admin/contact/Edit"
>
<Button variant="warning"><Pencil/></Button>
</Link>
fieldName
是一个动态密钥,将在接收组件中以相同的方式使用。
const { state } = useLocation();
const value = state[fieldName];