Динамический iframe теряет файл cookie PHPSESSID - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть сайт, который работает за прокси узла.Одна часть сайта загружает данные, используя <Query> библиотеки реаги-аполлон .По какой-то причине всякий раз, когда я обновляю страницу, файл cookie PHPSESSID не сохраняется и меняется каждый раз.Но если я помещу компонент RightPanel вне тега <Query>, сеанс будет поддерживаться.

Пожалуйста, помогите

<Query query={GQL_CURRENT_USER}>
                    {({ loading, error, data }) => {
                        if (loading) return <div>Chargement...</div>;
                        if (error) return <div>Erreur...</div>;

                        // user not exist or problem fetching
                        if (data.User === null) return <div>Error while loading user.</div>

                        return (
                            <div className="main-container">
                                <UserContext.Provider value={{
                                    currentUser: data.User,
                                    currentStructure
                                }}>
                                    <RightPanel />
                                </UserContext.Provider>
                            </div>
                        )
                    }}
                </Query>

Внутри RightPanel динамически загрузите iframe

    return (
        <main className={classes.root}>
            <div className={classes.container}>
                <Switch>
                    <Route exact path="/">
                        <Redirect to="/user/suivi" />
                    </Route>       
                    <Route render={() => {
                        const hash = window.location.hash.substr(2).split("/");
                        return <LegacyView path={hash}></LegacyView>
                    }}>
                    </Route>
                </Switch>
            </div>
        </main>
    )

LegacyView render

render() {
        return <iframe ref={this.iframe} onLoad={() => this.frameLoaded()} styleName="LegacyView" src={`${LegacyView.BASE_URL}${this.state.url}`} />
    }
...