use separate component for reacting to specific observable

This commit is contained in:
talksik
2026-03-11 15:22:12 -07:00
parent 43e03d269a
commit fa84b633f4
+15 -9
View File
@@ -2,7 +2,7 @@ import React from 'react';
import logo from './logo.svg';
import './App.css';
import { observer } from 'mobx-react-lite';
import { TodoList } from './state';
import { TodoList, Todo } from './state';
const App = observer(({ todos }: { todos: TodoList }) => {
return (
@@ -21,18 +21,24 @@ const App = observer(({ todos }: { todos: TodoList }) => {
Learn React
</a>
{todos.todos.map((todo, index) => (
<div key={index}>
<input
type="checkbox"
checked={todo.done}
onChange={() => (todo.done = !todo.done)}
/>
{todo.name}
</div>
<TodoListItem key={index} todo={todo} />
))}
</header>
</div>
);
});
const TodoListItem = observer(({ todo }: { todo: Todo }) => {
return (
<div>
<input
type="checkbox"
checked={todo.done}
onChange={() => (todo.done = !todo.done)}
/>
{todo.name}
</div>
);
});
export default App;