페이지 새로 고침 후 상태를 변경하지 않고 유지하는 방법은 무엇입니까?
P粉384244473
P粉384244473 2024-01-29 08:58:49
0
1
502

안녕하세요 여러분, 저는 페이지를 새로 고친 후에도 상태 값을 유지하는 방법을 찾으려고 노력 중입니다. 현재 로컬 저장소에 값을 저장하고 있으며 페이지를 다시 로드한 후에도 사용자 로그인을 유지하기 위해 많은 솔루션을 시도했지만 여전히 작동하지 않습니다. 페이지를 새로 고칠 때마다 이 작업이 종료됩니다. 도움을 주시면 대단히 감사하겠습니다. 매우 감사합니다.

Core.ts:

class Core {
      agv: typeof agv;
      auth: Auth;
      workflow: WorkflowApi;
      graphql: GraphQLSdk;
      fleetState: Stream<FleetState>;
      taskList: Stream<TaskList>;
      zoneList: Stream<ZoneList>;

  configuration = getConfiguration();

  url: string;

  constructor(options: Options) {
    const auth = getAuth(options);
    const graphqlUrl = `${options.host}/graphql`;
    const graphql = getSdk(new GraphQLClient(graphqlUrl, { fetch: authMiddleware({ auth, fetch: options.fetch }) }));

    const streamContext = {
      ...options,
      headers: getAuthHeaders(auth),
      getSites: () => auth.session.value?.sites || [],
    };

    this.auth = auth;
    this.workflow = getWorkflowApi({ auth }) ;
    this.graphql = graphql;
    this.fleetState = fleetState.call({
      ...options,
      headers: getAuthHeaders(auth),
      getSites: () => auth.session.value?.sites || [],
    });

    this.configuration.map.fetch = this.configuration.map.fetch.bind(async () => {
      const site = auth.session.value.sites[0];
      return graphql.map({ site }).then(({ map }) => map);
    });

    this.taskList = taskList.call(streamContext);
    this.zoneList = zoneList.call(streamContext);

    this.agv = {
      ...agv,
      graphql,
      map: this.configuration.map,
      getSites: () => auth.session.value?.sites || [],
    } as typeof agv;

    auth.session.listen(session => {
      window.localStorage.setItem('session', JSON.stringify(session));
      console.log(session);
      if (session) {
    this.configuration.map.fetch();
      }
    });
  }
}

export { Core };

P粉384244473
P粉384244473

모든 응답(1)
P粉323374878

세션이 localStorage에 지속되는 경우 다음과 같이

으아아아

그럼 아래와 같이 getAuth에서 localStorage를 초기화할 수 있을 것 같아요

으아아아

상태에 세션이 남아 있지 않으면 null 是表达式的值,并以 initialValue양식이 반환됩니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿