Size: a a a

JavaScript — русскоговорящее сообщество

2020 September 11

YP

Yuryi Prune in JavaScript — русскоговорящее сообщество
Nicky Coder
onClick={this.handleClick.bind(this)} - вот это по доке
так не работает, ни байнд здесь, ни в конструкторе. Я об этом написал. Ошибка - TypeError: Cannot read property 'handleClick' of undefined
источник

NC

Nicky Coder in JavaScript — русскоговорящее сообщество
тогда попробуй через анон функцию или в конструкторе определи this.handleClick = this.handleClick.bind(this)
А в рендере onClick={this.handleClick}
источник

NC

Nicky Coder in JavaScript — русскоговорящее сообщество
ааа через конструктор тоже не пашет
источник

NC

Nicky Coder in JavaScript — русскоговорящее сообщество
странно
источник

YP

Yuryi Prune in JavaScript — русскоговорящее сообщество
да, попробовал все 3 способа из доки
источник

YP

Yuryi Prune in JavaScript — русскоговорящее сообщество
причем в других местах пашет
источник

YP

Yuryi Prune in JavaScript — русскоговорящее сообщество
и только внутри jsx-экспрешена - нет
источник

NC

Nicky Coder in JavaScript — русскоговорящее сообщество
😳 ну я вообще хз, честно говоря не сталкивался
источник

NC

Nicky Coder in JavaScript — русскоговорящее сообщество
попробуй убрать скобки после return в рендере, оберни в фрагмент
источник

YP

Yuryi Prune in JavaScript — русскоговорящее сообщество
когда выношу в компонент - всё работает
источник

NC

Nicky Coder in JavaScript — русскоговорящее сообщество
раз такие дела у тебя в рендере теряется скоуп класса. о причинах можно лишь размышлять
источник

YP

Yuryi Prune in JavaScript — русскоговорящее сообщество
хотелось бы понять как приручить внутри экспрешена
источник

NC

Nicky Coder in JavaScript — русскоговорящее сообщество
А чё это вообще за либа? Row, Col, ListGroup….?
источник

NC

Nicky Coder in JavaScript — русскоговорящее сообщество
и что у тебя в контексте рендера? render() {console.log(this); return …}
источник

YP

Yuryi Prune in JavaScript — русскоговорящее сообщество
Nicky Coder
А чё это вообще за либа? Row, Col, ListGroup….?
это бутстрап, но он просто вёрстка, если я там дивы оставляю - эффект тот же
источник

NC

Nicky Coder in JavaScript — русскоговорящее сообщество
замена скобок на фрагмент тоже не помогла?
источник

YP

Yuryi Prune in JavaScript — русскоговорящее сообщество
помогает, когда выношу - всё ок. Хотелось бы понять что происходит в скобках и как это приручить
источник

NC

Nicky Coder in JavaScript — русскоговорящее сообщество
а вот я не знаю как работают эти скобки - никогда не юзал их и честно говоря меня вот этот момент вообще не интересует. Так уж интерпритатор работает. Наверняка он воспринимает всё что в скобках как некое выражение в контексте window или типа того. Тут не сам jsx виноват, наверняка так работает интерпритатор и ничего с этим не сделать
источник

YP

Yuryi Prune in JavaScript — русскоговорящее сообщество
да, я понимаю что придётся просто принять. Просто думаю мало ли упускаю какую-то мелочь
источник

NC

Nicky Coder in JavaScript — русскоговорящее сообщество
нет, всё таки jsx интерпритатор виноват. Он В любом случае всё переводит в createElement. Если интересно покопать - разверни нулёвый CRA и посмотри как он компилирует jsx в случае со скобками и с фрагментом в качестве родителя
источник