6. Principios SOLID
Single Responsibility Principle
Every element should do exactly one thing
React: Presentation & Container components
function Users() {
const [users, setUsers] = useState([]);
useEffect(() => {
fetch("https://jsonplaceholder.typicode.com/users", { method: "GET" })
.then((response) => response.json())
.then(setUsers);
}, []);
return (
<section>
<h1>Users: </h1>
<ul>
{users.map((user) => (
<li>{user.username}</li>
))}
</ul>
</section>
);
}function Users({ users }) {
return (
<section>
<h1>Users: </h1>
<ul>
{users.map((user) => (
<li key={`user-${user.username}`}>{user.username}</li>
))}
</ul>
</section>
);
}Open/Close Principle
You should be able to add functionality to some module, without modifying its existing source code
React: división en componentes
Substitution Principle (Liskov)
React: Las propiedades de los components representan su API
Interface Segregation Principle
React: Lista solo las propiedades necesarias (no dependas de propiedades que no necesitas)
Dependency Inversion Principle
React: Extracción a custom hooks
Last updated