должен показать таблицу и при обратном клике закрыть таблицу, я сделал это с помощью useState, но при каждом клике у меня компонент вызывается / ре-рендрится. как можно сделать так чтоб при клике компонент не вызывалась ? Спасибо
const SystemDetails = ({ data }) => {
console.log('data', data) // Object
const [isOpen, setIsOpen] = useState(false)
const toggleClassName = () => setIsOpen(!isOpen) return (
<div className="system-details">
<button
className="button"
type="submit"
onClick={toggleClassName}
>
{isOpen ? 'Cancel' : 'Add' }
</button>
<div className={isOpen ? 'd-block' : 'd-none'}>
<SymtemRaw/>
</div>
</div>
)
}
```
А что он должен делать?))
Ты рендерить должен компонент с родителя
так это и есть родительский компонент
переключать через ref и style.display. только чтобы что?
ну учитывая что данные могут расти каждый раз и каждый раз при клике компонент будет подгружать данные, а это не очень хорошо ведь, тормозит будет компонент
пишешь контейнер в ref и на onClick смотришь, что у него там в style.display (либо отдельным флагом в рефе) и меняешь свойство на противоположное
React.memo
ты посмотри на кондишен в style
Обсуждают сегодня