我有两个组件。父组件是功能组件。它有一个箭头功能,可以导航到另一条路线。我想把那个箭头函数传递给一个子组件,它是一个类组件。但我不知道为什么它似乎不起作用,当我在类组件中使用它时,它无法导航。可能是我传错了道具之类的。
父组件
function MyEditorFunction() {
let location = useLocation();
let query = new URLSearchParams(location.search);
let navigate = useNavigate();
const navigation = () => {
navigate(`/Profile?id=${query.get('id')}`)
}
return (
<div className='MyEditorFunction'>
<MyEditor userId={query.get('id')} navigate={navigation} />
</div>
)
}
子组件
class MyEditor extends React.Component {
handleClick{
this.props.navigate
}
render() {
return (
<button onClick={this.handleClick}></button>
)
{
}
按如下方式更改您的class component
。从this.props
中得到navigation
函数,传递给button
中的onClick
prop。
class MyEditor extends React.Component {
render() {
const { navigation } = this.props;
return <button onClick={navigation}></button>;
}
}