Передача состояния через this.history.pushState ()

Я использую реагирующий маршрутизатор 1.0 и их интеграцию истории.

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 и передать собственную ссылку, созданнуюHATEOAS в объекте JSON. Я хотел бы передать данные через параметр состояния 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 по pushState потому что браузер сохраняет объекты состояния на диск пользователя, чтобы их можно было восстановить после того, как пользователь перезапустит браузер.

Кто-нибудь знает, как или если я могу передать данные в штат или есть лучший способ сделать это?

Ответы на вопрос(1)

Ваш ответ на вопрос