Компонент запроса Apollo: храните данные запроса в одном месте, не используя их снова и снова - PullRequest
0 голосов
/ 13 ноября 2018

Я использую компонент Query компании Apollo для извлечения зарегистрированного пользователя, и я хочу хранить пользовательские данные в одном месте, чтобы я мог получить доступ к отдельным деталям в любое время, не используя компонент Query снова и снова еще раз.

Код запроса

<Query query={CURRENT_USER}>
    {({loading, error, data:{me}}) => {
        if (loading) 
            return "Loading...";
        if (error) 
            return `Error! ${error.message}`;
        const {name,username,email,lists} = me;

        // Store the user data somewhere.
        return true;
     }}
</Query>

Компонент

export default class Header extends Component {
    render() {
        return (
            <header>
                <nav>
                    <span id="logo">Expense Manager</span>
                    <div id="profile-options">
                        <span id="user-name">{me.name}</span>
                    </div>
                </nav>
                {me.lists.map(item => <span>{item}</span>})}
            </header>
        )
    }
}

Мне нужно отображать пользовательские данные в нескольких местах, поэтому мне нужно сначала сохранить их в одном месте. Я попытался установить setState () из самого компонента Query, но он не будет выполнен.

...