Здравствуйте. Я пытаюсь передать глобальное значение функции в переменную запроса, используя реакцию apollo, но не получаю значение.
import jwtDecode from 'jwt-decode';
const tokenKey = 'token';
export function logout(){
localStorage.removeItem(tokenKey);
}
export function getCurretUser (){
try{
const jwt = localStorage.getItem(tokenKey);
return jwtDecode(jwt);
}
catch(ex) {
return null;
}
}
export function getJwt(){
return localStorage.getItem(tokenKey);
}
export default {
logout,
getCurretUser,
getJwt
}
Я получаю глобальное значение функции в методе рендеринга, но я хочу передать его во внешний рендерmethod.
import React, { Fragment } from 'react';
import { css } from 'emotion';
import Head from 'next/head';
import { Button, Container, Input, H2, Grid, GridCell } from '../primitives';
import { Redirect } from '../components/Router';
import { graphql } from 'react-apollo';
import gql from 'graphql-tag';
import auth from '../components/authservice';
class FavouriteJob extends React.Component {
//state = { loginUserId: '' };
static async getInitialProps({ auth }) {
const getCurretUser = await auth.getCurretUser(auth.getCurretUser);
return getCurretUser;
}
onFavouriteJobDelete(jobid) {
this.props
.mutate({ variables: { jobid } })
.then(() => this.props.data.refetch());
}
renderFavouriteJobs() {
return this.props.data.getUserById.favourite.map(({ id, title }) => {
return (
<li key={id} className="collection-item">
{title}
<i
className="material-icons"
onClick={() => this.onFavouriteJobDelete(id)}
>
Remove
</i>
</li>
);
});
}
render() {
console.log(this.props);
console.log(getCurretUser);
if (this.props.data.loading) {
return <div> Loading...</div>;
}
return (
<Container>
<div>
<ul className="collection">{this.renderFavouriteJobs()}</ul>
</div>
</Container>
);
}
}
const query = gql`
query getUserById($id: ID!) {
getUserById(id: $id) {
username
email
phone
favourite {
id
title
description
source
logo
suburb
label
}
}
}
`;
const mutation = gql`
mutation removeFavouriteJob($jobid: ID!) {
removeFavouriteJob(jobid: $jobid) {
username
}
}
`;
export default graphql(mutation)(
graphql(query, {
options: props => ({ variables: { id: '5c73e07fef69a470c8785455' } }),
})(FavouriteJob)
);
Anyone Пожалуйста, предложите возможное решение, чтобы решить эту проблему.
Спасибо