Redux Toolkit использует функционирование на основе событий. Вам нужно создать action, который в свою очередь настраивает reducer. Допустим, у вас есть массив данных, и вы хотите его очистить:
1. В первую очередь вам нужно определить слайс(state):
```javascript
import { createSlice } from '@reduxjs/toolkit'
export const dataSlice = createSlice({
name: 'data',
initialState: {
value: []
},
reducers: {
setData: (state, action) => {
state.value = action.payload // setter
},
clearData: state => {
state.value = [] // очищаем массив
}
}
});
export const { setData, clearData } = dataSlice.actions
export const selectData = state => state.data.value
export default dataSlice.reducer
```
2. Далее вы можете использовать `clearData` action, чтобы очистить массив:
```jsx
import React from 'react'
import { useDispatch } from 'react-redux'
import { clearData } from './dataSlice'
function SomeComponent() {
const dispatch = useDispatch()
const clearMyData = () => {
dispatch(clearData())
}
return (
<div>
// ...
<button onClick={clearMyData}>Очистить данные</button>
</div>
)
}
export default SomeComponent
```
Когда вы вызываете `dispatch(clearData())`, он вызывает ваш reducer с `action.type` 'data/clearData' и возвращаемым значением `state.value = []`, что обнуляет весь массив.