Здравствуйте, я пытаюсь передать значение глобальной функции в переменной запроса, используя реакцию аполлона, но не получая значения.
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
}
Я получаю значение глобальной функции в методе рендеринга, но я хочу передать его во внешний метод рендеринга.
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.info(this.props);
console.info(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)
);
Кто-нибудь Пожалуйста, предложите возможное решение, чтобы решить эту проблему.
Спасибо
Здравствуйте, спасибо за вашу быструю помощь. У вас есть ссылки на примеры кода?
обратитесь по этой ссылке coursework.vschool.io/token-auth-with-jwts-part-2-react-context .





используйте API контекста реакции. это может помочь вам сохранить глобальное значение функции, а затем получить