import createBrowserHistory from 'history/
import appState from './AppState'
const customHistory = createBrowserHistory()
ReactDOM.render(
<Router>
<div>
<Route path="/submit" component={Submit} history={history}/>
</div>
</Router>,
document.getElementById('root')
);
注意:如果我像其他属性一样添加appState;提交组件中没有appState之类的属性,
如果我用这个;
<Route path="/submit" render={routeProps=> <Submit appState={appState}/> history={history}/>
appState传递很好,但这次缺少历史对象,正确的方法是什么?appState只是mobx类实例。
编辑:我找到了一个“奇怪”的解决方案。我将route元素更改为此;
<Route path="/submit" render={routeProps=> <Submit appState={appState}/> history={history}/>
然后,我可以通过this.\u reactInternalInstance.\u context.router.history.push('/home')
访问相同的历史对象在进行此更改之前,我可以将其用作this.props.history.push('/home')
如果我让它工作正常,但是用这种方式获取这个历史对象很烦人
我敢肯定你做错了。浏览器历史记录是一个单例对象,所以您可以从模块中导出它。看这里:
//history.js:
import createBrowserHistory from 'history/
export default createBrowserHistory();
//Submit.js
import history from "myapp/history"
export default class Submit extends React.Component {
...
}
//MyRouter.js
import Submit from './myapp/Submit'
import appState from './AppState'
ReactDOM.render(
<Router>
<div>
<Route path="/submit" component={Submit}/>
</div>
</Router>,
document.getElementById('root')
);
我认为这是对的,你最好把历史放在路由器而不是路线上。
请看下面的回答,这个对我很有效。您仍然可以在这个答案中使用history.push
。有时history.push
没有重定向页面,如果这种情况发生在你身上,你可以把location.href=location.href
刷新页面。
https://stackoverflow.com/a/42679052/7765396
我需要通过使用路由器的组件道具。这是我的代码: 如您所见,我验证了我要传递给登录组件的道具。 当我记录道具时,未经验证的道具不存在。我做错了什么?我怎样才能正确地通过道具?我跟踪了文档和其他讨论。据我所知,这应该是可行的。react router和react router dom的版本为4.0.0
我正在使用react with react路由器。我正试图在react路由器的“链接”中传递属性 “链接”呈现页面,但不将属性传递给新视图。下面是查看代码 如何使用“链接”传递数据?
我正在获取中的产品列表,在其中,我需要将选定的产品对象传递给。 目前,我正在尝试将作为路由参数传递,并再次获取产品对象。但是我想将整个产品对象从发送到。 我的路线是 产品列表组件链接 如何将产品对象作为道具传递给? 下面的代码在Typescript中抛出错误,表示
我在Angular2中有一个组件托管用户表(userTableComponnent)和另一个userDetails组件。单击用户表中的行后,我想路由到用户详细信息。一种实现是仅传递 userId,因此在 userDetails 中,我使用另一个 http get 获取用户的详细信息。但是,这是多余的,因为我在userTableComponent中获取了所有用户信息。因此,我真正需要的是将 User
我试图使用react router将props从app.jsx传递到某个路由组件,但出现以下错误
问题内容: 我正在从本教程中学习,但始终收到此错误: “ react-router”不包含名为“ browserHistory”的导出。 具有react-router的文件是这样的: 问题答案: 您现在需要从历史记录模块中获取。 请注意,他们最近更改了模块API,因此,如果您使用的是最新版本,则导入会稍有变化: