@react_js

Страница 4610 из 5115
Oleksandr
14.08.2018
09:36:41
А самописные?)

Andrew
14.08.2018
09:39:47
А самописные?)
ну прям самописанных не вот неплохие, простые и наглядные https://github.com/deepsweet/hocs/tree/master/packages/

народ есть сообщество по сагам?

умарист

Google
Andrew
14.08.2018
09:40:48
сенк

шот там гибло, спрошу здесь --- приветы можт кто знает как будет правильнее мне надо сдлелать оптимистичный интерфейс, сагой сделать запрос на серв, потом собственно если ошибка вернуть обратно состояние, если все ок, ниче не делать пример жму чекбокс, экшен перехватывается в саге и редюсере редюсер меняет состояние сага шлет запрос, вылетает ошибка, сага путает такой же экшен, для измнения стора, проблема в том, что такое уйдет в луп как то можно эт сделать без удвоения экшенов?

Oleksandr
14.08.2018
09:50:42
Вангую ответ: не использовать сагу)

Andrew
14.08.2018
09:51:06
Вангую ответ: не использовать сагу)
и как ты данные будешь слать?

Oleksandr
14.08.2018
09:51:12
thunk

Andrew
14.08.2018
09:51:23
не, там все на сагах завязано

этож не просто fetch

Google
Andrew
14.08.2018
10:07:06
в целом есть идея в мету прокинуть флаг для игнора

сага будет смареть есть ли такой флаг и не будет реагирвоать

Andrew
14.08.2018
10:09:02
Не поможет
почему?

Sergey
14.08.2018
10:09:52
Кроме как разными типами экшнов эту проблему не решить. Экшны, которые кидаются сагой, имеют символьное поле SAGA_ACTION, тогда как обычные не имеют. В зависимости от наличия этого поля сага выполняет эффект либо синхронно, либо асинхронно, положив эффект в очередь и обработав потом. И если из саги кидается экшн, которым она запустилась - там будет очень странная история с этой очередью

Andrew
14.08.2018
10:10:38
action({type: 'a', payload: { enabled: true }, meta: { onlyStore: false }) saga(action) { if(action.meta.onlyStore) return yield put(action({type: 'a', payload: { enabled: false }, meta: { onlyStore: true })) }

типа того

Sergey
14.08.2018
10:11:57
Неа, все равно сдетонирует. Ты же эту сагу будешь через takeEvery/takeLatest/takeКакТоПоДругому запускать, а бага зарыта в логике обработки эффекта take

Andrew
14.08.2018
10:12:31
хотя не, у тебя же она выйдет из функции

и больше не будет диспатчится

но это выглядит костылем

кажись кроме как плодить экшены, ниче лучше не сделать

Sergey
14.08.2018
10:16:02
она после первого yield put уже будет работать не так, как ты ожидаешь

Petr
14.08.2018
10:16:39
добавить в редюсере новое поле не подойдет? Типо prevState?

Vlad
14.08.2018
10:16:41
Ребята, помогите, пжл., с моей тривиальной задачей. Я - верстальщик и многое пока не понимаю, но пробую делать простые вещи. Нужно по клику на пункты меню(ul.menu) менять страницы. Вот то, что в моём App.js: import React, { Component } from 'react'; import './scss/main.scss'; import Element from './app/containers/Home/home'; import Profile from './app/containers/Profile/profile'; import News from './app/containers/News/news'; class App extends Component { render() { return ( <div className="App"> <ul className="menu"> <li><a href="">home</a></li> <li><a href="">profile</a></li> <li><a href="">news</a></li> </ul> <Element /> <Profile /> <News /> </div> ); } } export default App;

как я понимаю - надо создать функцию, в которой будет меняться мои компонентики?

Nazar
14.08.2018
10:18:48
React Router

Again
14.08.2018
10:20:30
@reach/router используй
5 реакт роутер? а через пол года 6 и еще через пол года 7

Google
Duego
14.08.2018
10:23:53
Кто нибудь юзает формик? Есть глубокая форма state = { user: data: fullName: '' } Както можно сразу проинициализировать поля touched и erros, а то приходится писать длинную портянку errors.user && errors.user.data && errors.user.data.fullName &&& touched.user && ...

Alexey
14.08.2018
10:27:34
а есть ли возможность сделать так ? <input name = {'test'} onChange={validate(this.name)}>

Andrew
14.08.2018
10:27:37
optional chaining proposal
А в 7 бабеле я так понял они уже из коробки идут ?

Вроде они уже на stage 2

Cenator
14.08.2018
10:27:52
Andrew
14.08.2018
10:29:06
Вижу

Чета долго все, хочу уже из коробки их юзать

Cenator
14.08.2018
10:29:53
так лол, когда в спеке будет тогда и в коробку положат

Sergey
14.08.2018
10:31:02
Пацыки, сорян за оффтоп, но просто стало интересно почему 5++ или ++5 выдаст ошибку?

Sergey
14.08.2018
10:32:32
какую?
ну вообще нельзя так делать. просто интересно почему

Roman
14.08.2018
10:32:39
Sergey
14.08.2018
10:32:46
линтер возможно?
нееее. именно ошибка языка будет

Invalid left-hand side expression in postfix operation

Roman
14.08.2018
10:33:38
нееее. именно ошибка языка будет
потому что тебе надо изменить значение хранимое в памяти

Google
Roman
14.08.2018
10:33:44
5 у тебя нигде не хранится

Sergey
14.08.2018
10:37:51
Vlad
14.08.2018
11:03:15
Юхоо!!! ) VSCode обновился, теперь блоки можно сворачивать разворачивать ) Крошки появились как в InteliJ

Kendr
14.08.2018
11:05:14
Держи в курсе.
Ух, у кого-то неделя не задалась?

Kendr
14.08.2018
11:05:26
Жизнь.
Зато честно

Admin
ERROR: S client not available

Andrey
14.08.2018
11:05:36
И автосейвы не работают(

Vlad
14.08.2018
11:06:17
И автосейвы не работают(
птичку нужно поставить File -> AutoSave Но я отказался от него в пользу ctrl +k, s. Вношу изменения блоками и сейву.

Andrey
14.08.2018
11:06:56
?‍♂️

Nahasaki
14.08.2018
12:39:31
Привет, ребята

Появилась ли простая замена редаксу, которая работает на новом Context API?

Nahasaki
14.08.2018
12:42:42
ух ты

круто выглядит

Andrey
14.08.2018
12:43:06
Nahasaki
14.08.2018
12:43:22
ок

Google
Nahasaki
14.08.2018
12:43:41
мне надо Single Source of Truth и его апдейты. Мне нужен редакс?

N
14.08.2018
12:46:55
привет , подскажите плиз , вобщем есть уменя компонент , в нем есть два стейта , один для запихивания туда массива данных иззапроса а другой это параметр для урла (сколько записей выводить) , и вот у меня в didMount есть запрос который сетстейтит полученный массив в первый стейт , + есть кнопка лоад море на которой на онклике сетстейт count + 10 (обновляет стейт с каждым нажатием ) , но вот реакт ругается на максимальное колличество обновлений , как исправть такую ошибку ?

<Component initialState={{ activeSales: null, loading: true, loadCount: 10 }} didMount={async ({ state, setState }) => { const respActiveSales = await fetch( ${BASE_URL}/project?count=${state.loadCount}, { method: "GET", headers: { "Content-Type": "application/json" } } ); try { if (respActiveSales.ok) { const respValue = await respActiveSales.json(); setState({ activeSales: respValue, loading: false }); } } catch (e) { console.log(e); } }} > {({ state, setState }) => ( <Fragment> {state.loading ? ( <div>Loading</div> ) : state.activeSales ? ( state.activeSales.map(ActiveSalesList) ) : null} <button onClick={setState({ loadCount: state.loadCount + 10 })}> Load more </button> </Fragment> )} </Component>

N
14.08.2018
12:50:06
react-component-component

.Feruz
14.08.2018
12:50:15
session for react

I need a session for react. somebody knows

,,

from
14.08.2018
12:53:10
.Feruz
14.08.2018
12:54:25
оф корс
can you suggest me any think

??

from
14.08.2018
12:55:48
can you suggest me any think
ну разумеется — https://gitter.im/chat-rooms/reactjs

Vlado
14.08.2018
13:01:05
react-component-component
в load more кнопке в onClick должно быть () => setState(state => ({ loadCount: state.loadCount + 10 }))

N
14.08.2018
13:10:01
ну это д а

а как сделать чтоб при обновлении стейта запрос отправлялся заново

и перезаписывал данные

Roman
14.08.2018
13:16:09
ri
14.08.2018
13:24:31
Привет! Можете посоветовать статей по тестированию реакт-компонентов? Что нужно тестировать, чего не нужно. Как к этому лучше подходить?

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