## 概要 [Task2920: 画面修正](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2920) - 元PBI or タスクへのリンク(内容・目的などはそちらにあるはず) - 何をどう変更したか、追加したライブラリなど ログイン時に、API(getMyUser)を呼び出し、フラグをtrueにして結果をstateに保存する。 フラグで管理する目的は、ページ遷移時に再度API呼び出しを行わないようにするため。 - このPull Requestでの対象/対象外 サインアウト部分は対象外→別タスクにて対応 - 影響範囲(他の機能にも影響があるか) 既存の各ページのヘッダー部分 ## レビューポイント - component/header配下にSliceを追加すると循環参照になってしまうのを避けるため、feature/login配下にSlice及び各処理を追加した、妥当か。 ## UIの変更 - https://ndstokyo.sharepoint.com/:f:/r/sites/Piranha/Shared%20Documents/General/OMDS/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/Task2920?csf=1&web=1&e=AQgVug ## 動作確認状況 - ローカルで確認 ## 補足 - 相談、参考資料などがあれば
29 lines
701 B
TypeScript
29 lines
701 B
TypeScript
import { createSlice } from "@reduxjs/toolkit";
|
|
import { getUserInfoAsync } from "./operations";
|
|
import { HeaderState } from "./state";
|
|
|
|
const initialState: HeaderState = {
|
|
domain: {
|
|
getUserInfo: undefined,
|
|
},
|
|
};
|
|
|
|
export const headerSlice = createSlice({
|
|
name: "header",
|
|
initialState,
|
|
reducers: {
|
|
clearUserInfo: (state) => {
|
|
state.domain.getUserInfo = undefined;
|
|
},
|
|
},
|
|
extraReducers: (builder) => {
|
|
builder.addCase(getUserInfoAsync.fulfilled, (state, action) => {
|
|
state.domain.getUserInfo = action.payload;
|
|
});
|
|
},
|
|
});
|
|
|
|
export const { clearUserInfo } = headerSlice.actions;
|
|
export const headerReducer = headerSlice.reducer;
|
|
export default headerReducer;
|