Список властивостей документа не включає onClick
( http://www.material-ui.com/#/components/icon-button )
Як я знаю, що мені потрібно використовувати onClick для обробника кліків?
Список властивостей документа не включає onClick
( http://www.material-ui.com/#/components/icon-button )
Як я знаю, що мені потрібно використовувати onClick для обробника кліків?
refs
було дуже важко, тому що потрібно було пройти як 15 властивостей за ієрархією, щоб знайти їх компоненти, і я продовжував порушувати інкапсуляцію компонентів. Проблема з цим refs
рекомендується для сторонніх елементів дому. Тільки пам’ятайте, це було понад 3 роки тому, тому багато чого могло змінитися.
Відповіді:
Документація Material-UI не містить стандартних подій React (власний браузер):
https://facebook.github.io/react/docs/events.html#mouse-events
Це тому, що, як очікується, ви вже знаєте про наявні рідні події. Наприклад, ви також можете використовувати onWheel
. Це був би довгий і зайвий список, якби були включені всі рідні події.
Як пояснює куак , інші реквізити (такі як onClick
) передаються відповідному дочірньому компоненту.
Випадковий приклад:
<Button color="primary" onClick={() => { console.log('onClick'); }}>
Primary
</Button>
Ви можете додати обгортку над, <IconButton/>
щоб отримати onClick
подію.
Приклад
render() {
return <div class="font-icon-wrapper" onClick={this.fontIconClick}>
<IconButton iconClassName="muidocs-icon-custom-github" />
</div>
}
Це неодмінно має спрацювати ...
Пам'ятайте, ви можете використовувати onClick у кожному компоненті singe, який має візуалізатор DOM, оскільки це рідна подія React (це не обов'язково повинен бути компонентом кнопки).
Приклад 1:
<Paper
className={classes.paper}
onClick={() => {
alert("✔️ This works on every component!");
}}
>
Click me!
</Paper>
Приклад 2:
Грайте з нею в Інтернеті ⬇
Просто додайте onClick
до реквізиту, в який передаєтесь <IconButton />
.
Реквізит, який не цитується в документі, передається у їх внутрішній <EnhancedButton />
компонент, який onClick
чудово справляється .
Дивіться тут: https://github.com/callemall/material-ui/blob/master/src/IconButton/IconButton.js#L241
Усі компоненти приймають onClick
обробник, який застосовується до кореневого елемента DOM.
<Button onClick={() => { alert('clicked') }}>Click me</Button>
Зауважте, що документація уникає згадування власних реквізитів (їх дуже багато) у розділі API компонентів. API для кнопки