私はreact-router 1.0とその履歴の統合を使用しています。this.history.pushState()経由で状態を渡す
import { createHistory, useBasename } from 'history'
const history = useBasename(createHistory)({
basename: '/base-path'
});
export default (
<Router history={history}>
<Route path="/" component={require("Template")}>
<Route path="sub-page" component={require("SubPage")}/>
</Route>
</Router>
);
私たちのAPIからとURLにIDを削除し、自己リンクはJSONオブジェクトにHATEOASによって作成合格しようとしています。 私はpushState状態パラメータを介してデータを渡したいと思います。
onClickEditButton(selfLinkObject) {
this.history.pushState(selfLinkObject, "/my/url");
}
しかし、状態を取得しようとすると、渡されません。
import React from "react"
import { History } from "react-router"
export default React.createClass({
mixins: [History],
componentDidMount() {
console.log(this.state);
console.log(this.history.state);
console.log(history.state);
},
render() {
<p>Check the console to see if the state is passed from the pushState(state, url, params);</p>
}
});
ユーザーがブラウザを再起動した後、彼らが復元できるように、ブラウザがユーザーのディスクに状態オブジェクトが保存されますので、pushStateをMozilla's pushState documentationに応じて動作するように意図された方法であると思われます。
どのようにデータを渡すことができますか、それとももっと良い方法があるのでしょうか? this.props.location.state
のか、コンテキストのlocation
オブジェクトを取得する:状態はとてもlocation
である
DUDE !!!これは私が必要とするものです...ドキュメントのあらゆる部分を検索したと思います。本当にありがとう!あなたはロックスターです! –
私は助けることができてうれしいです。これがドキュメントで明確でない場合は、推奨変更をPRに送ってください。 – knowbody
リンクは存在しません。 –