Typescript 如何使用redux toolkit中的CreateSicle创建文档完整的文件

Typescript 如何使用redux toolkit中的CreateSicle创建文档完整的文件,typescript,jsdoc,redux-toolkit,Typescript,Jsdoc,Redux Toolkit,我正在使用typescript和redux工具包(主要是CreateSicle)使用react native开发我的第一个应用程序。 似乎我现在正在使用被认为是良好实践的东西,但最终我发现它不是真正可读的(我指出我是一名经验丰富的开发人员,并且我还练习过许多其他语言。我刚刚开始使用母语,然后我习惯了良好的编码实践和文档化的代码),并且找不到从代码和注释生成高效文档的好方法(我尝试了typedoc)。 有人对此有什么建议吗?最好是一个可读性良好的示例redux工具包切片文件 为了说明这一点,下面是

我正在使用typescript和redux工具包(主要是CreateSicle)使用react native开发我的第一个应用程序。
似乎我现在正在使用被认为是良好实践的东西,但最终我发现它不是真正可读的(我指出我是一名经验丰富的开发人员,并且我还练习过许多其他语言。我刚刚开始使用母语,然后我习惯了良好的编码实践和文档化的代码),并且找不到从代码和注释生成高效文档的好方法(我尝试了typedoc)。
有人对此有什么建议吗?最好是一个可读性良好的示例redux工具包切片文件

为了说明这一点,下面是我的文件今天的样子的一个示例。我在reducer“refreshEventsList”中添加了注释,因为typedoc不会将其检测为doc

import {createAsyncThunk, createSlice, PayloadAction} from '@reduxjs/toolkit';
import {callAPI} from '../../api/APIManager';

export interface EventType {
  id: string;
  title: string;
}

interface EventsState {
  events: EventType[];
}

const initialState = {events: []} as EventsState;

/**
 * Load all events and update intern events data
 */
export const loadEvents = createAsyncThunk('events/fetchAll', async () => {
  const response = await callAPI({path: 'api/test'});
  return response.data as EventType[];
});

const eventsSlice = createSlice({
  name: 'events',
  initialState,
  reducers: {
    /**
     * Refresh internal data from provided payload.
     * @param state
     * @param action
     */
    refreshEventsList(state, action: PayloadAction<any[]>) {
      state.events = action.payload;
    },
  },
  extraReducers: (builder) => {
    builder.addCase(loadEvents.pending, (state, action) => {
      console.log('PENDING');
    });
    builder.addCase(loadEvents.fulfilled, (state, action) => {
      state.events = action.payload;
    });
  },
});

export const {refreshEventsList} = eventsSlice.actions;
export default eventsSlice.reducer;

你是怎么处理的?管理这一点的常见方法是什么?

类型脚本类型在您的还原程序和操作创建者中已经知道(尽管
PayloadAction
应该是
PayloadAction
)。所以我想这个问题就是如何向动作创建者添加JSDoc注释?我不确定这个问题的答案。我认为减速器不是合适的地方。
   /**
     * Load all events and update intern events data
     */
    loadEvents(....

   /**
     * Refresh internal data from provided payload.
     * @param state
     * @param action
     */
     refreshEventsList(...