Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1277 connectés 

  FORUM HardWare.fr
  Programmation
  Javascript/Node.js

  Button react component dans un button

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Button react component dans un button

n°2479364
XaTriX
Posté le 14-09-2024 à 14:52:19  profilanswer
 

J'utilise NextJS v14 et PicoCSS ( https://picocss.com/ )
 
Dans mon header et ma nav j'ai un menu en ul li qui affiche des boutons stylisés grâce à picocss.
 
J'ai ajouté le support jour/nuit :o avec Toggle.dev https://toggles.dev/ et un ThemeToggle.js :

Code :
  1. import React, { useState, useEffect } from 'react';
  2. import { Expand } from "@theme-toggles/react";
  3. import "@theme-toggles/react/css/Expand.css";
  4. const ThemeToggle = () => {
  5.   const [isMounted, setIsMounted] = useState(false);
  6.   const [isDark, setIsDark] = useState(false);
  7.   useEffect(() => {
  8.     setIsMounted(true);
  9.     const theme = localStorage.getItem('theme') || 'light';
  10.     setIsDark(theme === 'dark');
  11.     document.documentElement.setAttribute('data-theme', theme);
  12.   }, []);
  13.   const toggleTheme = () => {
  14.     const newTheme = isDark ? 'light' : 'dark';
  15.     setIsDark(!isDark);
  16.     localStorage.setItem('theme', newTheme);
  17.     document.documentElement.setAttribute('data-theme', newTheme);
  18.   };
  19.   if (!isMounted) {
  20.     return null;
  21.   }
  22.   return (
  23.     <Expand
  24.       duration={750}
  25.       toggled={isDark}
  26.       toggle={toggleTheme}
  27.       style={{ padding: 0, margin: 0 }}
  28.     />
  29.   );
  30. };
  31. export default ThemeToggle;


 
Et pour mon buton de menu:

Code :
  1. <li>
  2.                 <button className="secondary" data-tooltip="Jour, nuit ?" data-placement="bottom">
  3.                   <ThemeToggle />
  4.                 </button>
  5.               </li>


 
ça marche plutôt pas trop mal, j'ai eu des mouises de style avec les bouttons qui partent en couilles et je comprend maintenant :
 
Expand semble utiliser button quelque part, puis je met button expand dans un button.
 
Dans la console nav j'ai

hydration-error-info.js:63 Warning: validateDOMNesting(...): <button> cannot appear as a descendant of <button>.


Suivi de tout le chemin pour remonter.
 
 
Donc soit je demande à un LLM de me génerer le code en reprenant la partie HTML et import CSS de toggle.dev soit je trouve comment remonter le style button "secondary" à Expand.
 
Une ou plusieurs solutions ?


---------------
"Xat le punk à chien facho raciste. C'est complexe comme personnage." caudacien 05/10/2020
mood
Publicité
Posté le 14-09-2024 à 14:52:19  profilanswer
 

n°2479376
XaTriX
Posté le 14-09-2024 à 18:13:00  profilanswer
 

Hfr n'est plus vivant ? :o


---------------
"Xat le punk à chien facho raciste. C'est complexe comme personnage." caudacien 05/10/2020
n°2479378
mechkurt
Posté le 14-09-2024 à 19:58:42  profilanswer
 

https://www.youtube.com/watch?v=Meb7uaNlcS0
 :o  

Spoiler :

Désolé mais je n'ai touché 1 semaine à react y'a plusieurs années...


---------------
D3
n°2479379
XaTriX
Posté le 14-09-2024 à 20:17:34  profilanswer
 

T'inquiète pas, y'a quelques semaines j'y avais jamais touché :o


---------------
"Xat le punk à chien facho raciste. C'est complexe comme personnage." caudacien 05/10/2020
n°2479382
XaTriX
Posté le 14-09-2024 à 23:26:53  profilanswer
 

Bon en fait c'était simple, j'ai viré le button final puisque c'était lui qui embriquait le bouzin et générait l'avertissement.  
A partir de la un div en role button (voir picocss) et finalement je passe les attributs que je veux à Expand qui se comporte comme un button.
 
Easy  [:auldpuck:9]


---------------
"Xat le punk à chien facho raciste. C'est complexe comme personnage." caudacien 05/10/2020

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Javascript/Node.js

  Button react component dans un button

 

Sujets relatifs
[React] Comment changer le state de manière unique dans une map[Javascript - React] useRef dans map() ne fonctionne pas
Reconnaitre un button - optimisation de code[React/JS] Actualiser image dans le front
fermer une fenetre lors du clique sur buttonFacebook share button
Aide button de recherche sur un tableauSélection d'un noeud d'un JTree avec un button.
[Flash cs3 - AS2] Component - Layout manager - Anchor SystemJava Button
Plus de sujets relatifs à : Button react component dans un button


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR