Форум программистов, компьютерный форум, киберфорум
React/ReactJS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
9 / 7 / 3
Регистрация: 25.06.2009
Сообщений: 396

Событие плохо срабатывает

29.06.2021, 12:29. Показов 1158. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть компонент:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import React from 'react';
 
import './todo-list-item.css';
 
export default class TodoListItem extends React.Component {
 
        state = {
            'done': false,
            'important': false
        }
 
        onState = () => {
            if (this.state.done === false) {
                this.setState({ 'done': true })
            } else {
                this.setState({ 'done': false })
            }
        }
 
        onImportant = () => {
            this.setState((state) => { 
                return {
                    'important': !state.important 
                };
            });
        };
 
    render () {
        const { item } = this.props;
        const { done, important } = this.state;
        
        let classNames = 'todo-list-item';
        if(done) {
            classNames += ' done'
        } 
 
        if(important) {
            classNames += ' important';
        }
 
        return (
        <span className={classNames}>
            <span
                className="todo-list-item-label"
                onClick={this.onState}>
                {item}
            </span>   
                
            <button type="button"
                className="btn btn-outline-success btn-sm float-end">
                <i className="fa fa-exclamation" onClick={this.onImportant}/>
            </button>
 
            <button type="button"
                className="btn btn-outline-danger btn-sm float-end">
                <i className="fa fa-trash-o" />
            </button>           
        </span>    
        );       
    }
}
onState делает текст зачеркнутым и срабатывает нормально, onImportant меняет цвет текста и событие то срабатывает то нет т.е. сижу кликаю по элементу и цвет то меняется то нет. Почему так?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.06.2021, 12:29
Ответы с готовыми решениями:

Событие компоненты не срабатывает
Здравствуйте, уважаемые форумчане! Никак не могу понять почему не срабатывает событие подгружаемой компоненты. Вот код: import...

VueJS. Не срабатывает событие v-on:click
Например есть такой код: Vue.component('sub-wrapper', { template: '&lt;div class=&quot;sub_wrapper&quot;&gt;&lt;slot&gt;&lt;/slot&gt;&lt;/div&gt;', data:...

Плохо срабатывает мышь, если нажимать на краю кнопки
Здравствуйте, у меня мышь Razer Copperhead, недавно такая проблема обнаружилась: если нажимать близко к краю левой кнопки мыши, то мышь...

2
 Аватар для bodynar
345 / 307 / 135
Регистрация: 14.03.2015
Сообщений: 1,158
Записей в блоге: 1
29.06.2021, 14:18
Лучший ответ Сообщение было отмечено Nesh как решение

Решение

Nesh, У вас onImportant вызывается при клике на i, а не на кнопку. Иногда вы попадаете курсором мыши на кнопку, а иногда нет. Передвиньте на верхний элемент обработку и проблема должна исчезнуть
2
9 / 7 / 3
Регистрация: 25.06.2009
Сообщений: 396
29.06.2021, 18:04  [ТС]
Спасибо большое.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.06.2021, 18:04
Помогаю со студенческими работами здесь

Событие Validating для TextBox плохо работает на Windows10
Windows10 имеет очень удобную фичу, если на форме имеется ComboBox то не нужно в него тыкать мышкой, достаточно прокручивать колесо мыши...

Не срабатывает событие
Доброго времени суток, имется такой код &lt;DockPanel MouseLeftButtonDown=&quot;StacPanel_MouseLeftButtonDown&quot;&gt; ...

Не срабатывает событие
Здравствуйте! Помогите разобраться. Создал с помощью конструктора форму с вкладками. И к вкладке создал событие &quot;Click&quot;. Но...

Не срабатывает событие
Спрошу уж в этой теме, так как вопрос похожий. Теперь я хочу обработать событие нажатия клавишей мыши по шапке ListView, например, по...

Не срабатывает событие
Скажите пожалуйста, в чём может быть косяк ? При нажатии на кнопку отправить форму, форма отправляется на action &quot;#&quot;, а событие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru