Maison > interface Web > js tutoriel > Réagissez aux One-Liners pour améliorer votre efficacité de codage

Réagissez aux One-Liners pour améliorer votre efficacité de codage

Susan Sarandon
Libérer: 2024-12-22 01:20:26
original
531 Les gens l'ont consulté

React One-Liners to Enhance Your Coding Efficiency

React est une puissante bibliothèque JavaScript permettant de créer des interfaces utilisateur. Bien que sa flexibilité soit l’une de ses plus grandes forces, elle peut parfois conduire à un code verbeux. Heureusement, il existe de nombreuses façons de simplifier les modèles courants dans React avec des one-liners concis et efficaces. Dans cet article, nous explorerons 30 one-liners React utiles qui rendront votre code plus propre et plus efficace. Chaque exemple est accompagné d'une brève explication pour mettre en évidence son utilisation.

1. Rendu conditionnel

Simplifiez le rendu conditionnel de l'interface utilisateur en fonction des accessoires ou de l'état.

const Greeting = ({ isLoggedIn }) => isLoggedIn ? <h1>Welcome!</h1> : <h1>Please log in</h1>;
Copier après la connexion
Copier après la connexion

2. Accessoires par défaut

Fournissez des valeurs par défaut aux accessoires pour éviter les erreurs non définies.

const Button = ({ label = "Click Me" }) => <button>{label}</button>;
Copier après la connexion
Copier après la connexion

3. Styles en ligne

Appliquez des styles dynamiques directement à l'aide d'objets JavaScript.

const Box = ({ size }) => <div>



<h3>
  
  
  4. Functional Updates in State
</h3>

<p>Use functional updates to access the latest state.<br>
</p>

<pre class="brush:php;toolbar:false">const [count, setCount] = useState(0);
const increment = () => setCount(prev => prev + 1);
Copier après la connexion
Copier après la connexion

5. Gestion des événements

Gérez directement les événements de saisie utilisateur en ligne.

const Input = () => <input onChange={e => console.log(e.target.value)} />;
Copier après la connexion
Copier après la connexion

6. Propager les accessoires

Passez tous les accessoires à un composant sans effort.

const Button = props => <button {...props} />;
Copier après la connexion
Copier après la connexion

7. Cours dynamiques

Attribuez dynamiquement des classes CSS en fonction des accessoires.

const Alert = ({ type }) => <div className={`alert ${type}`}>Alert Message</div>;
Copier après la connexion
Copier après la connexion

8. Cartographie de tableau

Mappez sur un tableau pour générer une liste d'éléments.

const List = ({ items }) => <ul>{items.map((item, index) => <li key={index}>{item}</li>)}</ul>;
Copier après la connexion
Copier après la connexion

9. Filtrage de tableau

Filtrer un tableau et afficher uniquement les éléments correspondants.

const FilteredList = ({ items }) => <ul>{items.filter(item => item.active).map(item => <li key={item.id}>{item.name}</li>)}</ul>;
Copier après la connexion
Copier après la connexion

10. Chaînage optionnel

Accédez en toute sécurité aux propriétés des objets profondément imbriqués.

const UserProfile = ({ user }) => <p>{user?.name || "Guest"}</p>;
Copier après la connexion
Copier après la connexion

11. Évaluation des courts-circuits

Rendu les composants ou les éléments de manière conditionnelle.

const ErrorMessage = ({ error }) => error && <p>{error.message}</p>;
Copier après la connexion
Copier après la connexion

12. Composant comme accessoire

Passez les composants comme accessoires pour les emballages réutilisables.

const Wrapper = ({ Component }) => <Component />;
Copier après la connexion
Copier après la connexion

13. UseEffect avec dépendance

Exécutez les effets une seule fois pendant le montage du composant.

useEffect(() => console.log("Mounted"), []);
Copier après la connexion

14. Entrée anti-rebond

Réduire les entrées utilisateur pour améliorer les performances.

const Input = ({ onChange }) => <input onChange={e => debounce(onChange(e.target.value), 300)} />;
Copier après la connexion

15. Fusion d'États

Fusionner les nouvelles mises à jour d'état dans l'état existant.

const [state, setState] = useState({});
const updateState = updates => setState(prev => ({ ...prev, ...updates }));
Copier après la connexion

16. Accessoires déstructurés

Utilisez des accessoires déstructurés pour un code plus propre.

const Greeting = ({ name }) => <h1>Hello, {name}</h1>;
Copier après la connexion

17. Rappel mémorisé

Fonctions de mémorisation pour éviter les recréations inutiles.

const handleClick = useCallback(() => console.log("Clicked"), []);
Copier après la connexion

18. One-Liner à crochet personnalisé

Créez des hooks personnalisés concis pour une logique réutilisable.

const useToggle = initialValue => useState(initialValue).reduce((state, setState) => [state, () => setState(!state)]);
Copier après la connexion

19. Fragment en ligne

Regroupez plusieurs éléments sans ajouter de nœuds DOM supplémentaires.

const FragmentExample = () => <><p>First</p><p>Second</p></>;
Copier après la connexion

20. Consommateur de contexte

Accédez aux valeurs de contexte à l'aide d'un composant consommateur.

const Greeting = ({ isLoggedIn }) => isLoggedIn ? <h1>Welcome!</h1> : <h1>Please log in</h1>;
Copier après la connexion
Copier après la connexion

21. Accessoires de fonction par défaut

Fournir des fonctions par défaut comme accessoires pour éviter les erreurs d'exécution.

const Button = ({ label = "Click Me" }) => <button>{label}</button>;
Copier après la connexion
Copier après la connexion

22. Prévenir les défauts dans les événements

Empêcher le comportement par défaut directement dans les gestionnaires d'événements.

const Box = ({ size }) => <div>



<h3>
  
  
  4. Functional Updates in State
</h3>

<p>Use functional updates to access the latest state.<br>
</p>

<pre class="brush:php;toolbar:false">const [count, setCount] = useState(0);
const increment = () => setCount(prev => prev + 1);
Copier après la connexion
Copier après la connexion

23. Composants chargés paresseux

Importez dynamiquement des composants pour de meilleures performances.

const Input = () => <input onChange={e => console.log(e.target.value)} />;
Copier après la connexion
Copier après la connexion

24. Limite d'erreur en ligne

Enveloppez les enfants dans une interface utilisateur de secours en cas d'erreurs.

const Button = props => <button {...props} />;
Copier après la connexion
Copier après la connexion

25. Accessoires de rendu

Utilisez le modèle render-prop pour les composants flexibles.

const Alert = ({ type }) => <div className={`alert ${type}`}>Alert Message</div>;
Copier après la connexion
Copier après la connexion

26. Attribut conditionnel

Appliquer les attributs de manière conditionnelle en fonction de la logique.

const List = ({ items }) => <ul>{items.map((item, index) => <li key={index}>{item}</li>)}</ul>;
Copier après la connexion
Copier après la connexion

27. Importations dynamiques

Charger dynamiquement les modules en fonction des conditions.

const FilteredList = ({ items }) => <ul>{items.filter(item => item.active).map(item => <li key={item.id}>{item.name}</li>)}</ul>;
Copier après la connexion
Copier après la connexion

28. Composants contrôlés

Synchronisez facilement les valeurs d'entrée avec l'état.

const UserProfile = ({ user }) => <p>{user?.name || "Guest"}</p>;
Copier après la connexion
Copier après la connexion

29. Tableau réduit pour le rendu

Transformez les données en éléments à l'aide de réduire.

const ErrorMessage = ({ error }) => error && <p>{error.message}</p>;
Copier après la connexion
Copier après la connexion

30. Crochets conditionnels

Utilisez les crochets sous condition sans enfreindre les règles.

const Wrapper = ({ Component }) => <Component />;
Copier après la connexion
Copier après la connexion

Ces one-liners démontrent l’élégance et la polyvalence de React. En tirant parti de ces modèles concis, vous pouvez écrire un code plus propre et plus maintenable qui améliore la productivité. Essayez de les intégrer dans vos projets pour voir la différence !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal