React作为目前最流行的前端框架之一,掌握其最佳实践对于写出高质量代码至关重要。
每个组件应该只负责一个功能:
// ❌ 不好的例子
function UserProfile({ user }) {
return (
<div>
<img src={user.avatar} alt={user.name} />
<h2>{user.name}</h2>
<p>{user.email}</p>
<button onClick={() => sendEmail(user.email)}>发送邮件</button>
<div>
{user.posts.map(post => (
<div key={post.id}>
<h3>{post.title}</h3>
<p>{post.content}</p>
</div>
))}
</div>
</div>
);
}
// ✅ 好的例子
function UserProfile({ user }) {
return (
<div>
<UserAvatar user={user} />
<UserInfo user={user} />
<UserPosts posts={user.posts} />
</div>
);
}
const ExpensiveComponent = React.memo(({ data }) => {
return (
<div>
{/* 复杂的渲染逻辑 */}
</div>
);
});
function TodoList({ todos, filter }) {
const filteredTodos = useMemo(() => {
return todos.filter(todo => todo.category === filter);
}, [todos, filter]);
const handleToggle = useCallback((id) => {
// 处理逻辑
}, []);
return (
<div>
{filteredTodos.map(todo => (
<TodoItem
key={todo.id}
todo={todo}
onToggle={handleToggle}
/>
))}
</div>
);
}
对于复杂应用,选择合适的状态管理方案:
src/
components/
common/
ui/
hooks/
utils/
pages/
services/
React开发的关键在于:
持续学习和实践是提高React开发技能的最佳途径。