Functies Toevoegen met Redux
Veeg om het menu te tonen
Aanmaken:
src/components/TaskForm.jsx
import { useState } from 'react';
import { useDispatch } from 'react-redux';
import { addTask } from '../features/tasks/tasksSlice';
function TaskForm() {
const [title, setTitle] = useState('');
const dispatch = useDispatch();
function handleSubmit(event) {
event.preventDefault();
if (!title.trim()) {
return;
}
dispatch(
addTask({
id: Date.now(),
title,
completed: false
})
);
setTitle('');
}
return (
<form onSubmit={handleSubmit}>
<input
value={title}
onChange={(event) => setTitle(event.target.value)}
placeholder="Enter task title"
/>
<button type="submit">Add Task</button>
</form>
);
}
export default TaskForm;
Aanmaken:
src/components/TaskList.jsx
import { useSelector } from 'react-redux';
import TaskItem from './TaskItem';
function TaskList() {
const tasks = useSelector((state) => state.tasks.items);
return (
<ul>
{tasks.map((task) => (
<TaskItem key={task.id} task={task} />
))}
</ul>
);
}
export default TaskList;
Aanmaken:
src/components/TaskItem.jsx
import { useDispatch } from 'react-redux';
import { deleteTask, toggleTask } from '../features/tasks/tasksSlice';
function TaskItem({ task }) {
const dispatch = useDispatch();
return (
<li>
<span
style={{
textDecoration: task.completed ? 'line-through' : 'none'
}}
>
{task.title}
</span>
<button onClick={() => dispatch(toggleTask(task.id))}>
Toggle
</button>
<button onClick={() => dispatch(deleteTask(task.id))}>
Delete
</button>
</li>
);
}
export default TaskItem;
Je hebt Redux verbonden met de gebruikersinterface en kernfunctionaliteiten geïmplementeerd. Je kunt nu taken aanmaken, bijwerken en verwijderen, en alle wijzigingen verlopen via de store.
Was alles duidelijk?
Bedankt voor je feedback!
Sectie 7. Hoofdstuk 3
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Sectie 7. Hoofdstuk 3