Probabilmente mi sto perdendo qualcosa di molto ovvio e vorrei chiarirmi.
Ecco la mia comprensione.
In una componente di reazione ingenua, abbiamo states
& props
. L'aggiornamento state
con setState
esegue il rendering dell'intero componente. props
sono per lo più di sola lettura e aggiornarli non ha senso.
In un componente di reazione che si iscrive a un redux store, tramite qualcosa di simile store.subscribe(render)
, ovviamente viene eseguito nuovamente il rendering ogni volta che il negozio viene aggiornato.
react-redux ha un helper connect()
che inietta parte dell'albero degli stati (che è di interesse per il componente) e actionCreators per quanto props
riguarda il componente, di solito tramite qualcosa di simile
const TodoListComponent = connect(
mapStateToProps,
mapDispatchToProps
)(TodoList)
Ma con la consapevolezza che a setState
è essenziale per TodoListComponent
reagire al cambiamento dell'albero di stato di redux (ri-rendering), non riesco a trovare alcun codice state
o setState
relativo codice nel TodoList
file del componente. Si legge qualcosa del genere:
const TodoList = ({ todos, onTodoClick }) => (
<ul>
{todos.map(todo =>
<Todo
key={todo.id}
{...todo}
onClick={() => onTodoClick(todo.id)}
/>
)}
</ul>
)
Qualcuno può indicarmi la giusta direzione su ciò che mi manca?
PS Sto seguendo l'esempio della lista delle cose da fare in bundle con il pacchetto redux .