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
+11 -5
View File
@@ -2,7 +2,7 @@ import React from 'react';
import logo from './logo.svg'; import logo from './logo.svg';
import './App.css'; import './App.css';
import { observer } from 'mobx-react-lite'; import { observer } from 'mobx-react-lite';
import { TodoList } from './state'; import { TodoList, Todo } from './state';
const App = observer(({ todos }: { todos: TodoList }) => { const App = observer(({ todos }: { todos: TodoList }) => {
return ( return (
@@ -21,7 +21,16 @@ const App = observer(({ todos }: { todos: TodoList }) => {
Learn React Learn React
</a> </a>
{todos.todos.map((todo, index) => ( {todos.todos.map((todo, index) => (
<div key={index}> <TodoListItem key={index} todo={todo} />
))}
</header>
</div>
);
});
const TodoListItem = observer(({ todo }: { todo: Todo }) => {
return (
<div>
<input <input
type="checkbox" type="checkbox"
checked={todo.done} checked={todo.done}
@@ -29,9 +38,6 @@ const App = observer(({ todos }: { todos: TodoList }) => {
/> />
{todo.name} {todo.name}
</div> </div>
))}
</header>
</div>
); );
}); });