我已经阅读了有关如何执行此操作的文章,并选择了withRouter(({ history }) => history.push("/"));
方法,但是下面的代码无法正常工作。我在做什么错了?
import React from "react";
import SearchBox from "./SearchBox";
import { withRouter } from "react-router-dom";
class SearchParams extends React.Component {
handleSearchSubmit() {
withRouter(({ history }) => history.push("/"));
}
render() {
return (
<div className="search-route">
<SearchBox search={this.handleSearchSubmit} />
</div>
);
}
}
export default SearchParams;
答案 0 :(得分:4)
withRouter
是一个较高阶的组件,它将一个组件作为第一个参数,并将其设为使该组件将history
添加到其常规道具中。
导出时,您可以在组件上使用它,并从this.props.history
访问历史记录。
class SearchParams extends React.Component {
handleSearchSubmit = () => {
this.props.history.push("/");
};
render() {
return (
<div className="search-route">
<SearchBox search={this.handleSearchSubmit} />
</div>
);
}
}
export default withRouter(SearchParams);