Sobes.tech
Middle+

Écrivez un composant React avec un bouton Ajouter. Lorsqu'on clique sur le bouton Ajouter, un nouveau bouton avec un numéro d'ordre est ajouté. Lorsqu'on clique sur le bouton créé, il est supprimé. La suppression doit fonctionner correctement (pas par index, mais par identifiant unique).

sobes.tech IA

Réponse de l'IA

jsx import React, { useState } from 'react';

function AddButtons() { const [buttons, setButtons] = useState([]); const [counter, setCounter] = useState(1);

const addButton = () => { setButtons(prev => [...prev, { id: Date.now(), number: counter }]); setCounter(prev => prev + 1); };

const removeButton = (id) => { setButtons(prev => prev.filter(button => button.id !== id)); };

return ( <div> <button onClick={addButton}>Add</button> <div style={{ marginTop: '10px' }}> {buttons.map(button => ( <button key={button.id} onClick={() => removeButton(button.id)}> {button.number} </button> ))} </div> </div> ); }

export default AddButtons;


В этом компоненте при нажатии на кнопку "Add" создаётся новая кнопка с уникальным `id` и порядковым номером. При нажатии на любую из созданных кнопок она удаляется по уникальному `id`, что предотвращает ошибки при удалении по индексу.