我正在试图弄清楚如何包装React Router v4的NavLink
组件以设置默认activeClassName
。
但是,props
未定义。
包装:
const Test = ({children, props}) => {
console.log(children) // Blackboard
console.log(props) // undefined
return (
<NavLink activeClassName="active" {...props}>
{children}
</NavLink>
)
}
使用:
<Test to='/blackboard'>Blackboard</Test>
为什么children
已填充,props
未定义?
更新
使用to
代替props
时,它可以正常工作。
const Test = ({children, to}) => {
但是,我不确定为什么props
不起作用。
答案 0 :(得分:1)
好的,我现在明白了。
const Test = ({children, to}) => {
children
和to
是从props
解构的。
这有效:
const Test = props =>
<NavLink activeClassName='active' {...props}>
{props.children}
</NavLink>