const arr = [
'',
'aaa',
'aaaaa',
'aaaaaa',
'aaaaaa224223',
'aaaaa',
'aaaa',
'b',
'bb',
'b',
'c',
'cc',
'ccc',
'cccc',
'cc',
'aaa',
'aaaaa33333333',
'aaaaaa224223',
'aaaaa',
'aaaa',
]
последний вариант?
[getTasksDataSuccess.toString()]: (_state, action) => action.payload
[getTaskDataSuccess.toString()]: (state, action) => {
state.infoTasks.push(action.payload.infoTasks[0];
return state;
}
Первое правило Redux - всегда спредить изменяемую величину, иначе редакс не знает, что вы ее поменяли. Используемый вами метод splice не меняет массив, да и map в данном случае бессмысленен.
const sendTask = (task) => () => {
sendTaskRequest(task); // Это redux-action - отправляет данные на сервер в middleware
delTaskStateRequest(task.ID) // Это тоже redux-action - данные обрабатываются в reducer'е
}
[delTaskStateRequest.toString()]: (state, { payload }) => {
if (Array.isArray(state.tasksData)) {
state.tasksData.map((task) => {
const id = payload.ID;
if (task.ID === id) {
state.tasksData.splice(task, 1);
return state.tasksData;
}
}
}
}
<Button onClick={sendMessage(i, message}>
Отправить
</Button>
function Example () {
const [message, setMessage] = React.useState(false);
const sendMessage = (id, message) => () => {
const data = {
ID: id,
MESSAGE: message,
};
sendMessage(data); //Это действие Redux, оно особого отношения к делу не имеет.
setMessage(true);
return (
arr1.map(i) => {
<Grid key={i.id}> // Вот тут key
<Button onClick={sendMessage(i, message)>
Отправить
</Button>
{message !== null && (
<font>Отправлено</font>
)}
</Grid>
);
tasksData.infoTask[константа номера итерации].ID