react-router - 如何更改 url [英] react-router - how change the url
问题描述
我需要让用户编辑 url,路径"出现在其他组件的输入中,并且在搜索输入时实时更改 url.如何使用withRouter"来执行此功能?
//App.js 组件类 App 扩展组件 {使成为() {const { 匹配,位置,历史} = this.props;返回 (<div ><搜索searchString={location.pathname}/>
)}}使用Router(App)导出默认值//Search.js 组件const Search = ({ searchString }) =>(<div><输入值={搜索字符串}类型=搜索"占位符=搜索"咏叹调标签=搜索"/>
)
这应该对你有用,虽然我不确定在输入搜索输入时将用户重定向到另一个页面是一个很好的用户体验.
//App.js 组件类 App 扩展组件 {状态 = {searchString: this.props.location.pathname}handleSearch = (事件) =>{这个.setState({ searchString: event.target.value },() =>this.props.history.push('/search?query=' + this.state.searchString));}使成为() {返回 (<div ><搜索onChange={this.handleSearch}searchString={this.state.searchString}/>
)}}使用Router(App)导出默认值const Search = ({ searchString, onChange }) =>(<div><输入onChange={onChange}值={搜索字符串}类型=搜索"占位符=搜索"咏叹调标签=搜索"/>