@react_js

Страница 2040 из 5115
Aleh
27.08.2017
09:58:18
Ну правильно

Nikita
27.08.2017
10:00:48
Вот так сделал, потом в this.textInput.value подсвечивает :D Типа может быть null
Jesus! Конечно подсвечивает! Он же может быть нулем. Напиши уже нормально this.textInput && this.textInput.value

Nikita
27.08.2017
11:00:30
Гайс,как получить контекст элемента при клике на него ?

Google
Andrey
27.08.2017
11:01:20
Пробрасывай onClick и через него передавай

Или что ты называешь контекстом?

Nikita
27.08.2017
11:03:15
Ну мне нужен контекст именно того элемента по которому я кликаю,чтобы добавить к нему класс

В чистом js это вообще не проблема ,тут что-то не понимаю

Andrey
27.08.2017
11:03:43
Что такое контекст в твоём понимании?

Nikita
27.08.2017
11:04:03
this элемента

Andrey
27.08.2017
11:04:41
Заведи флаг в стейте и переключай его при клике

Nikita
27.08.2017
11:06:05
У меня повторяющиеся элементы ,к ним всем будут применен этот класс

Andrey
27.08.2017
11:06:32
Не будет

Nikita
27.08.2017
11:08:13
Они через map итерируются ,и поэтому если я добавлю класс к одному то все его получат ,можно конечно вынести элемент в компонент ,но думал есть проще решение

Andrey
27.08.2017
11:08:55
Заведи множетство флагов с тейте и переключай при клике.

Блин, это так сложно?

Или храни в стете только переключенные элементы

Google
Nikita
27.08.2017
11:09:47
Спасибо ,я понял

Nikita
27.08.2017
11:09:56
Да

Maksim
27.08.2017
13:35:12
Блин, да кто ж так делает, ещё и совет с флагами в стейте

Делаешь onClick={this.handler.bind(this, someButtonContextOrID)}

В хендлере получаешь айдишку что нажали

andretshurotshka?❄️кде
27.08.2017
13:38:01
и получаешь ререндер каждый раз из-за бинда)

Denis
27.08.2017
13:38:46
Если родитель сам получит ререндер

Maksim
27.08.2017
13:38:47
Схера ли?

Denis
27.08.2017
13:39:43
Да и scu никто не отменял

Сергей
27.08.2017
13:41:28
Схера ли?
потому что .bind создает новую функцию каждый раз

Maksim
27.08.2017
13:41:45
И что?

Ни стейт ни пропсы он не меняет

Сергей
27.08.2017
13:42:22
пропсы меняет

лол

у тебя будет props.onClick !== nextProps.onClick

Maksim
27.08.2017
13:43:15
Дочерних, пусть меняет

Никита
27.08.2017
13:44:33
Делаешь onClick={this.handler.bind(this, someButtonContextOrID)}
onClick={(event)=>{this.handler(someButtonContextOrID);}}?

Maksim
27.08.2017
13:45:46
onClick={(event)=>{this.handler(someButtonContextOrID);}}?
Ща скажут что опять новая функция на каждый рендер

Никита
27.08.2017
13:45:55
с чего?

Google
Max
27.08.2017
13:46:18
Потому что по спецификации

Maksim
27.08.2017
13:46:29
Ну а как?

Никита
27.08.2017
13:46:47
тогда в конструкторе this.handler = this.handler.bind(this)

Denis
27.08.2017
13:47:26
Кек

Maksim
27.08.2017
13:47:30
Тогда без контекста

Denis
27.08.2017
13:48:21
Можно ещё компоненты научить прокидывать свои пропсы в коллбек типа айди

Но нахуя

updateForKeys из recompose и вперёд

Никаких ререндеров

Сергей
27.08.2017
13:49:21
Никита
27.08.2017
13:51:53
https://medium.freecodecamp.org/react-binding-patterns-5-approaches-for-handling-this-92c651b5af56

Михаил
27.08.2017
13:53:13
Эх, щяс бы в 2018 году бинд в рендере обсуждать?

Сергей
27.08.2017
13:53:33
ты год перепутал

2018 был в том году

Салават _Awasaky_
27.08.2017
13:54:48
"Вас пригласили завтра, а вы все время приходите сегодня"

Сергей
27.08.2017
13:54:48
https://twitter.com/housecor Я не знал, что Станнис на реакте пишет



andretshurotshka?❄️кде
27.08.2017
13:59:17
сложно

Сергей
27.08.2017
14:03:52
@ZeroBias Сергей https://github.com/Mitranim/posterus

Sergey
27.08.2017
14:06:46
?

Google
andretshurotshka?❄️кде
27.08.2017
14:12:20
Andrey
27.08.2017
14:16:42
Алексей
27.08.2017
14:22:04
По поводу лицезии (может кто не видел) https://code.facebook.com/posts/112130496157735/explaining-react-s-license/

Maksim
27.08.2017
14:42:33
Чем плохи флаги в стейте?
Есть код с флагами в стейте? По хорошему надо выносить в компонент и оттуда колбечить, но человек так не захотел

andreyelek
27.08.2017
14:47:15
https://code.facebook.com/posts/112130496157735/explaining-react-s-license/

Какие последствия?

illiatshurotshka❄️
27.08.2017
14:47:48
никаких

Admin
ERROR: S client not available

andreyelek
27.08.2017
14:47:55
рили?

illiatshurotshka❄️
27.08.2017
14:47:57
да

уже очень много раз были разговоры про это

andreyelek
27.08.2017
14:48:10
ну лан

Alex
27.08.2017
15:16:00
Всем привет. Возможно кто натолкнет на мысль или кинет ресурс. буду очень признателен/ Вопрос такой: В родительском компоненте есть функция. которая принимает параметр item мы передаем эту функцию в дочерний компонент <Child delete={this.DeleteItem.bind(this)}/> В компоненте child я вызываю эту функцию допустим на клик onClick={this.props.delete(item)} - если так написать то item not defined Если убрать item то функция не передает item который должна принять функция в родительском комп Задача - в дочернем компоненте вызвать функцию с родительского и передать ей параметр из дочернего

Andrey
27.08.2017
15:16:35
Декоратор создай.

Или DeleteItem пусть возвращает функцию, которая принимает item

Но лучше первое.

Alex
27.08.2017
15:18:18
Я еще думал может саму функцию написать в дочернем компоненте и возможно как то обновить стэйт в родительском

Функция сама вроде вызывается в дочернем и лог дает но параметр не передать (

Andrey
27.08.2017
15:21:48
Напиши декоратор

const a = item => DeleteItem(item)

Google
Nikita
27.08.2017
15:25:25
Функция сама вроде вызывается в дочернем и лог дает но параметр не передать (
Просто в это дочернем компоненте сделай метод handleClick = () => { const { delete, item } = this.props return delete && delete(item) } И передавай onClick={this.handleClick}

Andrey
27.08.2017
15:26:32
Но лучше мемоизировать функцию, чтобы её не пересоздавать каждый раз.

Nikita
27.08.2017
15:27:33
Но лучше мемоизировать функцию, чтобы её не пересоздавать каждый раз.
Ты про bind зис? Это надо сделать в конструкторе родителя

Это не внутри рендера (очевидно же)

Andrey
27.08.2017
15:28:14
А, ты метод класса хочешь сделать. Не прав был.

Alex
27.08.2017
15:30:14






Cannot read property 'props' of null

(((

Andrey
27.08.2017
15:31:29
Слушайте, а зачем в setState может понадобиться передать функцию?

Denis
27.08.2017
15:32:08
bind | arrow fn

^

на handleClick

Alex
27.08.2017
15:33:24
bind(this) позволяет функции заработать но параметр от дочернего в итоге так и не передается (

Denis
27.08.2017
15:34:20
ведь ты ничего не передаешь

в handleClick

Страница 2040 из 5115