我可以使用 HTML 表单的操作 属性 在 React 路由之间移动吗?

Can I use an HTML form's action property to move between React Routes?

我正在尝试构建一个 React 应用程序,但在使用 React Router 时遇到了一些问题。 首先,我的 url 总是在其末尾有一些奇怪的哈希字符串。 例如: http://localhost:3000/#/?_k=gb3epe

此外,我不确定 url 中的主题标签和以下乱码是否属于同一问题,或者它们是否与 2 个不同的问题有关。 (我目前正在使用 React-Router v1.0)。

其次,我觉得奇怪的URL让我无法在表单上使用"action" 属性,也想知道是否有更好的移动方式围绕 React 渲染然后中继表单。

谢谢。

如果我们谈论 react-router v1.0,那么要删除此哈希字符串,您应该将 { queryKey: false } 参数传递给 createBrowserHistory 函数。

var createBrowserHistory = require('history/lib/createBrowserHistory');

ReactDOM.render(
  <Router history={ createBrowserHistory({ queryKey: false }) } 
          routes={ ReactRoutes } />, 
  document.getElementById('some-container')
);

在路由之间移动 react-router 提供了 Link 组件,您可以在组件内部使用它。