APIからデータを取得する関数を使用して、redux reducerの初期状態を設定する必要があります(アプリのバックエンドとしてsupabaseを使用しています)。私のスライスの中には、これがあります:
const initialState = {
todoList: []
}
export const saveTodo = createSlice({
name: 'manageList',
initialState,
reducers: {
addTodoToList: (state, action) => {
state.todoList.push({ name: action.payload, isDone: false, isRemoved: false })
},
checkTodoToList: (state, action) => {
state.todoList.map((todo, index) => {
if (index === action.payload) {
if (todo.isDone == true) {
todo.isDone = false
} else {
todo.isDone = true
}
}
return todo
})
},
removeTodoToList: (state, action) => {
state.todoList = state.todoList.filter((todo, index) => index !== action.payload)
}
}
})
ここで、この関数の戻り値でその空の配列を設定するための最良の方法を見つけたいと思います:
async function getProfile() {
try {
const user = supabase.auth.user()
let { data, error, status } = await supabase
.from('todos')
.select(`name,isDone,isDeleted`)
.single()
if (error && status !== 406) {
throw error
}
if (data) {
return data
}
} catch (error) {
console.log(error);
} finally {
}
}
そのデータを todoList [] 内に設定する最良の方法は? ありがとう