javascript - React Router HashRouter 插入一个 ?网址中的 # 之前

标签 javascript reactjs redux react-router grommet

我在 Chrome 上使用 React/redux/react-router 时遇到了一些奇怪的行为。我有一个如下所示的组件:

const PageHeader = withRouter( props => 
    <Form plain={true} onSubmit={() => props.history.push("/search")} >

    {/*component stuff goes here */}
)

当我在 Firefox 上提交表单时,它会将我带到正确的网址,即 http://myip/#/search 。然而在 Chrome 上,它带我到以下网址:http://myip/?#/search由于某种原因,这也会刷新应用程序,因此我丢失了商店中的所有状态。以前有人观察过这种行为吗?

(也适用于我正在使用的表单组件 grommet )

最佳答案

尝试通过将表单更改为来抑制默认提交行为

<Form plain={true} 
    onSubmit={(e) => { e.preventDefault(); props.history.push("/search")}} >

关于javascript - React Router HashRouter 插入一个 ?网址中的 # 之前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43919092/

相关文章:

javascript - 使用 React Conditional Rendering,如何避免 0 被视为未定义?

javascript - 如何使用Redux-Saga配合Hooks调用API

arrays - react Redux : View not getting updated even though mapStateToProps is

javascript - 如何在不重复自己的情况下获取或设置 JavaScript map

javascript - 为此我需要 Flux Store 吗?

ReactJS axios 拦截器如何调度注销操作

jquery - 带 React 和 Bootstrap 的可折叠侧边栏

Javascript 表单验证服务器端,可能吗?

javascript - D3 LinearScale NaN

reactjs - 可重复使用的react-redux容器组件