Size: a a a

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

2020 October 01

EM

Elisey Martynov in React — русскоговорящее сообщество
Elisey Martynov
Ребят, может кто-то кратко пояснить сл. момент: я поднимал из события пропс в род. компонент таким образом вызывал функцию, в которой была функция передающая props.propName и так пока не дойдет до компонента с состоянием. Я тут поглядел другой способ, где не передавая никаких аргументов в функциях дочерних мы просто прокидываем вниз событие и там передаем payload таким образом:
onChange={props.holdTodos.bind(this, props.id)}
, т.е. через bind. Вот я этого вообще не понял. Я понимаю как работает bind в том смысле, когда теряется контекст и ты привязываешь к нему объект, но тут я что-то совсем не понял, это что сделано вообще? Учитывая что компоненты не на классах, а на функциях почему это работает вообще? Что делает передаваемый this в bind?? Второй аргумент то понятно, это самый prop который поднять надо
вроде разобрался, кроме того, что дает нам this первым аргументом
источник

И

Иван in React — русскоговорящее сообщество
Elisey Martynov
вроде разобрался, кроме того, что дает нам this первым аргументом
если сначала разобраться в js, а потом браться за react, то будет гораздо проще


читай про bind в учебнике, тестируй в песочнице
источник

EM

Elisey Martynov in React — русскоговорящее сообщество
Иван
если сначала разобраться в js, а потом браться за react, то будет гораздо проще


читай про bind в учебнике, тестируй в песочнице
я разбирался, я в принципе понял, что мы передаем контекст компонента таким образом верно?
источник

И

Иван in React — русскоговорящее сообщество
Elisey Martynov
я разбирался, я в принципе понял, что мы передаем контекст компонента таким образом верно?
нет
источник

И

Иван in React — русскоговорящее сообщество
Elisey Martynov
я разбирался, я в принципе понял, что мы передаем контекст компонента таким образом верно?
console.log(this) попробуй
источник

EM

Elisey Martynov in React — русскоговорящее сообщество
undefined'ы получаю
источник

無線信号 in React — русскоговорящее сообщество
замени на стрелочную функцию
источник

EM

Elisey Martynov in React — русскоговорящее сообщество
無線信号
замени на стрелочную функцию
возможно я делают что-то не то, но то же самое...
источник

И

Иван in React — русскоговорящее сообщество
Elisey Martynov
undefined'ы получаю
bind выполняет две задачи. Одна из них — привязка контекста (который тут ничему не равен, он не определён). Значит, нужно читать в учебнике что-то про вторую задачу
источник

EM

Elisey Martynov in React — русскоговорящее сообщество
Иван
bind выполняет две задачи. Одна из них — привязка контекста (который тут ничему не равен, он не определён). Значит, нужно читать в учебнике что-то про вторую задачу
вот первую задачу я понимаю отлично, а про вторую разобрать не могу..
источник

И

Иван in React — русскоговорящее сообщество
Elisey Martynov
вот первую задачу я понимаю отлично, а про вторую разобрать не могу..
Значит, нужно читать в учебнике что-то про вторую задачу
источник

E

Ego in React — русскоговорящее сообщество
Народ, нужно приостанавливать выполнение кода во время алерта, родной алерт с этим прекрасно справляется, но он страшный, можно ли провернуть подобное с помощью sweetalert? https://github.com/chentsulin/sweetalert-react
источник

無線信号 in React — русскоговорящее сообщество
Elisey Martynov
возможно я делают что-то не то, но то же самое...
onChange={() => props.holdTodos(props.id)}
так не работает?
источник

EM

Elisey Martynov in React — русскоговорящее сообщество
無線信号
onChange={() => props.holdTodos(props.id)}
так не работает?
да нет, работает конечно, я читал в доке об опасности перерендера из-за коллбеков. Я думал ты через стрелочную this хотел консольложнуть попросить
источник

И

Иван in React — русскоговорящее сообщество
Elisey Martynov
да нет, работает конечно, я читал в доке об опасности перерендера из-за коллбеков. Я думал ты через стрелочную this хотел консольложнуть попросить
Между твоим вариантом с bind и вариантом от Елисея нет вообще никакой разницы
источник

И

Иван in React — русскоговорящее сообщество
Ego
Народ, нужно приостанавливать выполнение кода во время алерта, родной алерт с этим прекрасно справляется, но он страшный, можно ли провернуть подобное с помощью sweetalert? https://github.com/chentsulin/sweetalert-react
Приостановить выполнение кода? В браузере так не делают, гугли асинхронность
источник

EM

Elisey Martynov in React — русскоговорящее сообщество
Иван
Между твоим вариантом с bind и вариантом от Елисея нет вообще никакой разницы
понял, там было так поставлено что - bind надежно и круто - а через arrow может быть перерендер...
источник

И

Иван in React — русскоговорящее сообщество
Elisey Martynov
понял, там было так поставлено что - bind надежно и круто - а через arrow может быть перерендер...
bind — надежно и круто, но не здесь и не так. Кури мануалы
источник

E

Ego in React — русскоговорящее сообщество
Иван
Приостановить выполнение кода? В браузере так не делают, гугли асинхронность
что тогда делает алерт?
источник

EM

Elisey Martynov in React — русскоговорящее сообщество
Иван
bind — надежно и круто, но не здесь и не так. Кури мануалы
а мой вопрос вообще про каррирование не? я туда копаю?
источник