我正在将<NavLink>
用于 routing
,我如何将 props
传递到<NavLink>
中到另一个组件
答案 0 :(得分:3)
使用Link
和NavLink
将数据传递到导航组件的方式
<Link to={{
pathname:'/home',
state: {name:'from home page'}
}}>
Go to Home
</Link>
或使用NavLink
<NavLink to={{
pathname:'/home',
state: {title:'from home page'}
}}>
Go to Home
</NavLink>
您可以像这样访问内部导航组件。
如果有钩子
import {useLocation} from 'react-router-dom'
function App(){
let location = useLocation();
console.log(location)
return <h2>...</h2>
}
如果是基于类的组件
console.log(this.props.location)
答案 1 :(得分:1)
你也可以使用钩子来传递道具:
<Link
to={{
pathname: "/home",
userProps: {name: "This is a passed prop"},
}}>
Go to home
</Link>
从另一个 component
import { useLocation} from "react-router-dom"
function OtherComponent() {
let location = useLocation();
console.log(location.userProps);
}
答案 2 :(得分:0)
在第一个组件上执行此操作
<NavLink
to={{
pathname:"/priview-data",
aboutProps:{
selectedidds:this.state.selectedIds
}
}}
exact
>Preview Question
</NavLink>
现在在另一个组件上
constructor(props) {
super(props);
console.log(props.location.aboutProps);
}
希望有帮助
谢谢