@react_js

Страница 4578 из 5115
Николай
09.08.2018
09:47:40
Может есть там что интересное, не смотрел еще

Антон
09.08.2018
09:49:42
Подрубить source maps и посмотреть где падает?) Да и слишком большой скачок версий произошел
Спасибо за совет, теперь понимаю на что он конкретно указывает. Указывает на react-date-picker, может его выпилили в 16й версии?

Mark
09.08.2018
09:58:16
Порекомендуйте что-нибудь по поводу React PWA с возможностью дальнейшей публикации в сторы apple, gplay

Google
Alex
09.08.2018
10:00:52
Можно аргументацию почему нельзя писать var в реакт приложении, ведь все равно это скомпилит бабель. Аргументы типо - это *, так делают только * не принимаются

Alex
09.08.2018
10:02:34
Область видимости
ну например в рендере написать переменную через вар, ничего не поломается же

Konstantin
09.08.2018
10:02:38
где можно прям нубский вопрос задать

тут можно или наругают?

Николай
09.08.2018
10:02:52
тут можно или наругают?
Можно если по теме

Roman
09.08.2018
10:03:01
тут можно или наругают?
тут все вопросы

Konstantin
09.08.2018
10:04:42
ну по жс только не совсем в тему может быть. вобщем, как мне в (jsdoc например) описать структуру некоего объекта со вложеностью в пару уровней? есть такие заголовки Link, и хочется иметь статичную структуру (а не то что только в заголовке пришло), заменяя не-полученые значения на пустые строки ( избежать хочется кучи проверок на null/undefined). вот... и вобщем то, дампить в консоль я уже устал) может как то можно это замутить? на подобие описания классов и свойств, только чтоб попроще как то

Alex
09.08.2018
10:05:52
спасибо

Область видимости

Потому что hoisting - плохая и неочевидная вещь.

Google
Konstantin
09.08.2018
10:19:10
мб прогонять через валидатор, например https://github.com/epoberezkin/ajv или joi
я немного не так наверно объяснил, хочу структуру фиксированую просто и чтоб автокомплит все подсказывал по названиям полей, что то вроде return { a: 1, b: 10, c: 30 }

Владимир
09.08.2018
10:20:36
чтоб автокомплит подсказывал можешь jsdoc typedef

Konstantin
09.08.2018
10:21:20
чтоб автокомплит подсказывал можешь jsdoc typedef
а там второй уровень можно описать? т.е. a: {x: 'y'} вроде того. спасибо за подсказку

Владимир
09.08.2018
10:22:15
Konstantin
09.08.2018
10:22:42
прикольно, спасибо, то что и хотел

Alex
09.08.2018
10:24:44
Если в приложении в рендер просто пихаются куски вёрстки и нет разбиения на компоненты или еще хуже по 2-3 компонента в одном файле. Ведет ли это к плохой производительности или еще к чему либо ?

Andrey
09.08.2018
10:35:31
Если в приложении в рендер просто пихаются куски вёрстки и нет разбиения на компоненты или еще хуже по 2-3 компонента в одном файле. Ведет ли это к плохой производительности или еще к чему либо ?
Скорее всего да. Потому что реакт будет воспринимать все это как один компонент. В итоге на каждый чих будет все перерисовываться.

Prester John
09.08.2018
10:40:05
Перерисовка же после сравнения деревьев, а там разве будет разница в них?

Eвгений
09.08.2018
10:41:27
Добрый день, пытаюсь прикрутить сокеты к реакту, использую пакет socket.io, вроде стучится на бэк и достает что нужно, но достает старую информацию, а точнее идет запрос, этот запрос попадает в очередь на бэке, и пока он находится в очереди и обрабатывается проходит время, а паралельно с запросом и сокеты стучатся смотрят последние изменения, и не дожидаются выполнения очереди, а забирают последнее значение, и поэтому данные постоянно на один шаг назад, не актуальные

Andrey
09.08.2018
10:41:36
Prester John
09.08.2018
10:44:24
Ты тратишь ресурсы на сравнение деревьев.
Если часть верстки в компоненте то если он пьюр то тогда понимаю разницу

Oleksandr
09.08.2018
10:44:37
Всем привет. Мне надо сделать так что-бы при клике на таб, рендерился нужный объект. Вот как сделал я - https://codesandbox.io/s/o7r0z7o43z Возможно это можно сделать более красивей или мой вариант сойдет? Я думал сделать какой-то еще контейнер. В нем делать рендер children. В пропсы кидать индекс таба.

Prester John
09.08.2018
10:44:59
Если не пьюр, то разницы же не будет? Деревья будут те же самые в итоге

Andrey
09.08.2018
10:50:42
Evansir
09.08.2018
11:57:28
Подскажите скажите либу или метод для преобразования строки в URL с заменой пробелов на _ и спецсимволов

Типа: Hello Peep's? -> hello_peeps

Google
Roman
09.08.2018
11:58:43
кто-нибудь тут now sh юзает?

Cenator
09.08.2018
11:58:48
Evansir
09.08.2018
11:58:53
Вдруг такая магия уже есть и ее не нужно создавать

Roman
09.08.2018
11:59:35
Да
как-то можно сделать чтобы один и тот же урл был?

М
09.08.2018
12:01:50
Evansir
09.08.2018
12:02:22
Посмотри encodeURIComponent(str)
Он вместо пробелов %20 ставит

Peter
09.08.2018
12:03:12
Всем привет, подскажите пожалуйста. В action creator приходят данные с сервера (использую thunk), эти данные нужно отфильтровать до того как они попадут в стор. Значение фильтра должно браться из стора. Где лучше это делать? В том же экшен креэйтере с помощью отдельной функции? Какие ещё есть варианты?

Peter
09.08.2018
12:07:35
Спасибо, так и думал. А вообще, я правильно понимаю, что как-то изменять данные до пападания в хранилище можно либо в экшенах, либо в мидлварах? Как обычно делают?

Peter
09.08.2018
12:11:21
А как обычно хранят эти функции, которые изменяют данные в санках? Там же с экшенами или в какой-то отдельной папке типа helpers?

Kevin
09.08.2018
12:37:21
я тут интересный паттерн для себя открыл в доках не видел, хотя если погуглить, то пару упоминаний на SO можно найти суть в том, что иногда надо в компонент передать функцию например, кнопке условный хэндлер onClick но кнопок несколько, и под каждую создавать отдельную функцию не хочется можно сделать хэндлер вида handleClick = (arg) => (event) => { ... } и в компоненте его юзать типа <button onClick={this.handleClick(arg)} /> но тогда для каждой кнопки при каждом рендере функция будет создаваться по-новой, и кнопка будет перерендериваться в доках по реакту описано, что для избежания перерендера можно использовать dataSet типа <button data-arg={arg} onClick={this.handleClick} /> и handleClick = (event) => { const { arg } = event.currentTarget.dataSet; ... } но это мало того, что многословно, так еще и работает только для тех функций, которые принимают ивенты другой путь -- юзать мемоизацию вместо handleClick = (arg) => (event) => { ... } просто написать handleClick = memoize((arg) => (event) => { ... }) (memoize взять, например, из lodash/memoize) и юзать его так же, как в первом примере но вместо каждый раз разных функций, возвращаться будут те же самые функции, тем самым, перерендера не будет норм идея или что-то пойдет не так?

Тимофей
09.08.2018
12:39:44
я тут интересный паттерн для себя открыл в доках не видел, хотя если погуглить, то пару упоминаний на SO можно найти суть в том, что иногда надо в компонент передать функцию например, кнопке условный хэндлер onClick но кнопок несколько, и под каждую создавать отдельную функцию не хочется можно сделать хэндлер вида handleClick = (arg) => (event) => { ... } и в компоненте его юзать типа <button onClick={this.handleClick(arg)} /> но тогда для каждой кнопки при каждом рендере функция будет создаваться по-новой, и кнопка будет перерендериваться в доках по реакту описано, что для избежания перерендера можно использовать dataSet типа <button data-arg={arg} onClick={this.handleClick} /> и handleClick = (event) => { const { arg } = event.currentTarget.dataSet; ... } но это мало того, что многословно, так еще и работает только для тех функций, которые принимают ивенты другой путь -- юзать мемоизацию вместо handleClick = (arg) => (event) => { ... } просто написать handleClick = memoize((arg) => (event) => { ... }) (memoize взять, например, из lodash/memoize) и юзать его так же, как в первом примере но вместо каждый раз разных функций, возвращаться будут те же самые функции, тем самым, перерендера не будет норм идея или что-то пойдет не так?
На мемоизации потеряешь больше времени

Andrey
09.08.2018
12:40:12
я тут интересный паттерн для себя открыл в доках не видел, хотя если погуглить, то пару упоминаний на SO можно найти суть в том, что иногда надо в компонент передать функцию например, кнопке условный хэндлер onClick но кнопок несколько, и под каждую создавать отдельную функцию не хочется можно сделать хэндлер вида handleClick = (arg) => (event) => { ... } и в компоненте его юзать типа <button onClick={this.handleClick(arg)} /> но тогда для каждой кнопки при каждом рендере функция будет создаваться по-новой, и кнопка будет перерендериваться в доках по реакту описано, что для избежания перерендера можно использовать dataSet типа <button data-arg={arg} onClick={this.handleClick} /> и handleClick = (event) => { const { arg } = event.currentTarget.dataSet; ... } но это мало того, что многословно, так еще и работает только для тех функций, которые принимают ивенты другой путь -- юзать мемоизацию вместо handleClick = (arg) => (event) => { ... } просто написать handleClick = memoize((arg) => (event) => { ... }) (memoize взять, например, из lodash/memoize) и юзать его так же, как в первом примере но вместо каждый раз разных функций, возвращаться будут те же самые функции, тем самым, перерендера не будет норм идея или что-то пойдет не так?
Чот ты усложняешь очень. Просто напиши хок и реакт за тебя сам мемоизировать будет.

Mishka
09.08.2018
12:41:05
Всем привет! А есть отдельный чат для react-router ?

Kendr
09.08.2018
12:41:08
я тут интересный паттерн для себя открыл в доках не видел, хотя если погуглить, то пару упоминаний на SO можно найти суть в том, что иногда надо в компонент передать функцию например, кнопке условный хэндлер onClick но кнопок несколько, и под каждую создавать отдельную функцию не хочется можно сделать хэндлер вида handleClick = (arg) => (event) => { ... } и в компоненте его юзать типа <button onClick={this.handleClick(arg)} /> но тогда для каждой кнопки при каждом рендере функция будет создаваться по-новой, и кнопка будет перерендериваться в доках по реакту описано, что для избежания перерендера можно использовать dataSet типа <button data-arg={arg} onClick={this.handleClick} /> и handleClick = (event) => { const { arg } = event.currentTarget.dataSet; ... } но это мало того, что многословно, так еще и работает только для тех функций, которые принимают ивенты другой путь -- юзать мемоизацию вместо handleClick = (arg) => (event) => { ... } просто написать handleClick = memoize((arg) => (event) => { ... }) (memoize взять, например, из lodash/memoize) и юзать его так же, как в первом примере но вместо каждый раз разных функций, возвращаться будут те же самые функции, тем самым, перерендера не будет норм идея или что-то пойдет не так?
Мемоиз лучше не это самое

Kevin
09.08.2018
12:41:37
На мемоизации потеряешь больше времени
типа memoize долго отрабатывает?

Google
Kevin
09.08.2018
12:41:54
Kendr
09.08.2018
12:42:21
типа memoize долго отрабатывает?
Ты усложняешь пиздеts

Andrey
09.08.2018
12:43:10
что-то я с трудом себе такой хок представляю
<A onClick={onClickHandler} id={id}> const A = compose( withProps(props => ({ onClick: () => {onChick(id)} }), pure )(_A);

Всё.

withProps, pure из recompose

Kevin
09.08.2018
12:45:00
хм ну, тогда компонент выносить придется, если я правильно понимаю

Admin
ERROR: S client not available

Kevin
09.08.2018
13:02:26
Куда выносить?
ну типа если это это готовый (например, взятый из чужой либы) компонент Foo, то прежде, чем его юзать, придется его заранее переобъявить типа MyFoo = compose(withProps(...), pure)(Foo)

Oleksandr
09.08.2018
13:02:47
А не проще написать с замыканием, и все `handleClick = (event, id) => { const {value} = event.target return e => { this.props.callActionWithId(id, value); } }`

Oleksandr
09.08.2018
13:05:45
А что тогда более preferable?? Делать () => this.handleChane(id) или с замыканием?

Антон
09.08.2018
13:05:47
уважаемые, а как сделать browserhistory.push на 4м реакт роутере?

Andrey
09.08.2018
13:06:18
Alex
09.08.2018
13:06:45
Material-ui юзал кто-нибудь ?

Kevin
09.08.2018
13:06:58
много кто юзал

Oleksandr
09.08.2018
13:06:59
import { withRouter } from "react-router-dom"; this.props.history.push("/some/Path");

Google
Alex
09.08.2018
13:07:19
Добавил такой поле с типом password и в результате



а с типом текст, норм



Artem
09.08.2018
13:08:08
Товарищи, а кто решает проблему, когда у каждой фичи свой редюсер, и между ними надо данные гонять? Сейчас у меня сделано, просто с экшенов фичи вызываю с типом экшена для редюсера из другой фичи, или все таки лучше сделать глобал экшены, которые будет гонять эти данные между фичами?

Sukhrob
09.08.2018
13:09:10
tslint ругается на следующую строку import React, {Component, ReactNode} from 'react'; Сообщение такое: Module '"***/node_modules/@types/react/index"' has no default export. правило no-default-export: false для файла tslint.json не работает что я делаю не так?

Ilya
09.08.2018
13:09:38
а с типом текст, норм
material какой версии?

Антон
09.08.2018
13:09:44
import { withRouter } from "react-router-dom"; this.props.history.push("/some/Path");
это его еще приконнекчивать снизу надо?

Oleksandr
09.08.2018
13:10:14
Alex
09.08.2018
13:10:38
Oleksandr
09.08.2018
13:13:31
Alex
09.08.2018
13:14:57


+1
Что-то еще может скинуть ?

Ilya
09.08.2018
13:26:23
classes.textField

Alex
09.08.2018
13:28:29

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