@react_js

Страница 4336 из 5115
Дмитрий
06.07.2018
13:12:02
Редьюсеры и экшн-кераторы можно протестировать в библиотеке которая занимается их созданием

Frimko
06.07.2018
13:12:23
это галимый ад, проще написать тупо функциональный тест с вызовом экшена из mockStore

Valeriy
06.07.2018
13:18:30
как раз редьюсер и надо тестировать
смотря как написан редьюсер и какую функцию ему делегировали

есть такие редьюсеры, которые тупо принимают payload и сохраняют его

Google
Valeriy
06.07.2018
13:19:00
а все вычисления делаются в мидлваре

так вот такие редьюсеры если и тестировать, то на ошибку механическую, типа скопипастил не так что-то

Frimko
06.07.2018
13:24:41
хороший вариант. сам до такого както не дошел...

Nikita
06.07.2018
13:25:18
Кто-нибудь плотно работал с react-virtualized?

Кирилл
06.07.2018
13:33:32
я, с табицами и списками оттуда

Nikita
06.07.2018
13:34:32
я, с табицами и списками оттуда
И как производительность? Есть какие-нибудь лайфхаки по использованию?)

Artyom
06.07.2018
13:39:04
Тестировать спреды...

В идеале вся нормализация и форматирование в мидлварах, нет?

Я сам так не делал, только мечтал ?

Хотя проблема в том, что нельзя отлогировать что было до мидлвары - а что после с payload... Как и вообще сложно что-то логировать с редаксом... Упс, я опять начинаю его бичивать

Кирилл
06.07.2018
13:42:00
0.0000009 * 1000000 = 0.8999999999999999 парни как с такой хуйней жить

Google
Frimko
06.07.2018
13:43:09
А я не за мобх
неужто RxJS ?

Кирилл
06.07.2018
13:43:17
Знать js например
как с эим жить есть статейки

Artyom
06.07.2018
13:43:27
Нет еще такой библиотеки ?

andretshurotshka?❄️кде
06.07.2018
13:44:03
floor

Кирилл
06.07.2018
13:44:07
И как производительность? Есть какие-нибудь лайфхаки по использованию?)
производительность и так устраивает, есть таблицы по две тысячи строк примерно, и на каждой строке интерактивные элементы, работает быстро. единственное пришлось выворачиваться чтобы кастомные скроллбары сделать. а так вроде все что может понадобиться, уже есть в доках, там хороший апи

Кирилл
06.07.2018
13:45:20
(x* 10)/10
я почти для этого и деюа мне надо округлисть без увелечение очень маленькое число

Konstantin
06.07.2018
13:45:22
(x* 10)/10
И округлить еще

Frimko
06.07.2018
13:49:06
да эт хрень, самое люботыное, когда ты уходишь за 32ух битную размерность)

Roman
06.07.2018
13:59:04
https://fuse-box.org/ кто-нибудь юзал?

Max
06.07.2018
14:00:38
звучит интересно

50-100мс на ребилд\

pepsi ¯\_(ツ)_/¯
06.07.2018
14:09:03
0.0000009 * 1000000 = 0.8999999999999999 парни как с такой хуйней жить
математику не на js делать например

Кирилл
06.07.2018
14:09:33
математику не на js делать например
задачка на фронте полюбому придется вроде почти решил

pepsi ¯\_(ツ)_/¯
06.07.2018
14:09:59
Кирилл
06.07.2018
14:10:12
выложу

Google
Кирилл
06.07.2018
14:13:13
попробуй big.js
давно талю за подобное решения но пока не дали дабро

расскажешь потом, как решил?
///roundingOfNumber.ts export default function roundingOfNumber( value: number = 0, precision: number = 8, shift: number = 0 ): number { if (value < 0.000001) { return roundingOfNumber(value * 10, precision - 1, shift + 1); } const arr = String(value).split('.'); if (arr[1]) { arr[1] = ('0'.repeat(shift) + arr[1]).slice(0, precision + shift); } console.log(`!!!! roundingOfNumber.ts:33 \n arr `, arr, '\n !!!!'); return parseFloat(arr.join('.')); } ////roundingOfNumber.test.ts import roundingOfNumber from './roundingOfNumber'; import expect from 'expect.js'; describe('roundingOfNumber', () => { const testOptions = [ { input: 1, output: 1 }, { input: 1.1, output: 1.1 }, { input: 1.9999999999, output: 1.99999999 }, { input: 1.9999999999, output: 1.9999, precision: 4 }, { input: 1, output: 1, precision: 4 }, { input: 0.00009, output: 0, precision: 4 }, { input: 0.00009, output: 0, precision: 4 }, { input: 0.000000999, output: 0, precision: 4 }, { input: 0.000000999, output: 0.00000099, precision: 8 }, { input: 0.0000000000999, output: 0, precision: 10 }, { input: 0.0000000000999, output: 0.00000000009, precision: 11 }, ]; testOptions.forEach((item, index) => { const result = roundingOfNumber(item.input, item.precision); it(`Option ${index + 1}: ${item.input} => ${item.output} precision=${ item.precision } result=${result}`, () => { expect(result).to.be(item.output); }); }); });

andretshurotshka?❄️кде
06.07.2018
14:23:29
лол

Кирилл
06.07.2018
14:26:10
кажется, с value = 0 все повиснет
export default function roundingOfNumber( value: number = 0, precision: number = 8, shift: number = 0 ): number { if (value === 0) { return 0; } else if (value < 0) { if (value > -0.000001) { return roundingOfNumber(value * 10, precision - 1, shift + 1); } } else if (value < 0.000001) { return roundingOfNumber(value * 10, precision - 1, shift + 1); } const arr = String(value).split('.'); if (arr[1]) { arr[1] = ('0'.repeat(shift) + arr[1]).slice(0, precision + shift); } return parseFloat(arr.join('.')); }

пофиксил

бляцкие намбер в js

Kirill
06.07.2018
14:43:04
бляцкие намбер в js
С ним та же история или норм? https://developers.google.com/web/updates/2018/05/bigint

Александр
06.07.2018
14:52:12
Кто знает чатик по тестам?)

Александр
06.07.2018
14:53:03
плюсую, тоже интересно

Александр
06.07.2018
14:55:46


Frimko
06.07.2018
15:08:55
ну либо она не кликнулась, либо можно поробовать http://sinonjs.org/

andretshurotshka?❄️кде
06.07.2018
15:11:29
другое дело что это инт, а не флоат)

Кирилл
06.07.2018
15:12:19
есть же
Биг инт вроде только в последнем хроме так что не варик для прода

Александр
06.07.2018
15:40:48
ну либо она не кликнулась, либо можно поробовать http://sinonjs.org/
да, она просто не вызывалась, вечно проблема с этими ивентами в React = (

Gleb
06.07.2018
15:45:06
Подскажите пожалуйста, как я могу применить класс, если в props есть булевое isActive + убирать и добавлять этот класс в зависимости от значения свича из материал юи?



Google
Kendr
06.07.2018
15:45:41
{isActive && стилиТвои.ебучие}

Сергей
06.07.2018
15:45:43
У тебя нет классов здесь

Gleb
06.07.2018
15:46:01
Я имелл ввиду обозначенные стили

Сергей
06.07.2018
15:46:41
Я имелл ввиду обозначенные стили
Тернарка же существует. И операторы && и ||

Gleb
06.07.2018
15:47:05
Вы не могли бы подсказать на элементарном примере?

Anton
06.07.2018
15:47:13
className={item.uuid === activeId ? 'news-list__item news-list__item--active' : 'news-list__item'} - есть вот такая некрасивая конструкция

Admin
ERROR: S client not available

Сергей
06.07.2018
15:47:48
Gleb
06.07.2018
15:47:54
Есть что-то более красивое? Или это не плохой вариант?

Gleb
06.07.2018
15:48:26
Возможно вы подскажете, как нужно хорошо?)

Anton
06.07.2018
15:48:33
есть еще либо classnames, но по моему это тоже не оч вариант

Anton
06.07.2018
15:48:48
я как раз этим вопросом заморочился, зашел сюда, чтобы спросить =)

Styled components
ну это понятно, но если без этого. Если проект уже, например, на scss

Сергей
06.07.2018
15:49:43
Anton
06.07.2018
15:51:43
Возможно вы подскажете, как нужно хорошо?)
className={`news-list__item ${item.uuid === activeId ? 'news-list__item--active' : ''}`} - чуть более красивый вариант, нет дублирования классов (особенно, если их будет больше двух)

хотя читаемость еще хуже наверн

Google
Anton
06.07.2018
15:52:44
Пакет classnames
да он тож не очень

Anton
06.07.2018
15:54:25
было бы идеально как в ангуляре (в первом по крайней мере) что то типа ng-class={‘news-item’, ‘news-item—active’: isItemActive}

Andrey
06.07.2018
15:56:47
зачем тебев стилях ковыряться? слелай просто класс и добавляй когда надо

Play
06.07.2018
15:58:47
как из чилдрена вернуть родителю стэйт?

Styled components
а потом анимацию для react-native переписывать на Animated ?

Play
06.07.2018
16:00:52
Шта?
в react-native нет css, а для анимации используется Animated

Play
06.07.2018
16:01:33
И что
два кода писать прийдется, а так ничего)

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