Vit
Или используй стрелочные
animate = () => {...
Anonymous
так там тогда по идее скоуп будет
Anonymous
анонимный
Anonymous
и this будет другой, разве нет?
Vit
No)
⩔wein
same shit
ну блин, тебе нужно это сделать со всеми функциями в которых ты this используешь
Vit
Покеж как анимейт в рендере вызывается
⩔wein
в том числе с твоей handleRefresh
Anonymous
а что bind делает?
Anonymous
почему он вообще в конструкторе вызывается
Vit
Эт прям хороший вопрос на собеседе) в гугле тыщи ответов)
⩔wein
https://developer.mozilla.org/uk/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
Anonymous
все короче
Anonymous
работает
Anonymous
this.animate = this.animate.bind(this);
this.handleRefresh = this.handleRefresh.bind(this);
Anonymous
так да, видят друг друга
Anonymous
про bind надо почитать, не врубился в этот момент
Vit
Используй стрелочные
Anonymous
да уже переделал
Vit
Поставь линтер от аирбнб он по рукам бить будет
Anonymous
animate = () => {
Animated.timing(
this.state.rotateAnim, {
toValue: 1,
duration: 500,
easing: Easing.linear,
useNativeDriver: true,
}).start();
}
handleRefresh = () => {
this.animate();
}
Anonymous
в общем всем спасибо за помощь, так то вроде почти все понятно)
Anonymous
кроме некоторой js специфики
Aleksei
Vit
Уже? Читал что через пень колоду работает пока
Aleksei
Vit
Ну хз))
Vit
А либа какая?
Aleksei
Animated)
Vit
Нпм и аниматед?)
Vit
Надо поглядеть
Aleksei
да вот даже пример и статья есть http://animatedjs.github.io/interactive-docs/
Anonymous
после дня знакомства с реакт нейтив думаю что это все же не плохая штука, но пока рано судить)
Anonymous
с view layer тут точно быстрее чем в нативе работать
Anonymous
ну и как то все просто и логично по большей части
Vit
Anonymous
flutter надо когда-нибудь еще попробовать
Anonymous
по крайней мере реакт нейтив это серьезный прогресс относительно кордовы и иоников всяких
Anonymous
там какой то полный рак по перфомансу)
Aleksei
я так и не понял как во флаттере 120 фпс выдается)
Aleksei
и самое главное зачем) vr что ли сразу)
Anonymous
ну там нет прослоек никаких и рендер через кую то мега шуструю либу
Anonymous
на девайсах поддерживает вулкан и метал для рендера
Anonymous
короче все серьезно)
Anonymous
правда альфа
⩔wein
120фпс как то в последнюю очередь волнует)
Aleksei
Aleksei
а то если честно звучит как какая то замануха
Aleksei
и то что нет прослоек тоже как то странно, че прям на шейдерах писать что ли надо. но емнип там дарт
Egor
Повторюсь: есть у кого-нибудь успешный опыт с Flow + ESLint ?
lamo2k
Egor
1) Правила для ESLint чтобы не ругался на типы
2) Конфиг для Flow чтобы проверял только мой код, а node_modules не трогал и при этом видел RN и прочее, но на них не ругался
Как-то так
Egor
Сейчас еще буду пробовать. Мне просто надо сделать всё так, чтобы потом Jenkins мог собирать apk запуская перед этим скрипты какие-нибудь для проверки кода ESLint'ом и желательно Flow
Aleksei
я с flow давно не работал, но гугление 'react native flow eslint' выдало кучу статей
Egor
ага конечно
Egor
именно их я вчера и лопатил одну за другой
Egor
как включить да настроить по дефолту - это всё есть, работает
Aleksei
ну на твой вопрос есть ответ, у тех кто писал статьи есть успешный опыт 😄
Egor
=)
Egor
под конец дня нашел это https://github.com/flowtype/flow-typed
Egor
и советовалось сделать определения для non-Flow либ
Egor
и тогда он якобы перестанет ругаться...
Egor
а то сейчас ошибки вида:
node_modules/react-native/packager/src/node-haste/DependencyGraph.js:283
283: this._opts.roots
^^^^^^^^^^^^^^^^ unused function argument
Aleksei
ну надо в конфиге игнорить либы
Aleksei
чтобы он их не чекал
Egor
тогда он в моём коде их не видит =)
Egor
https://github.com/reactjs/react-redux/issues/137
Egor
вот релевантная issue
Egor
я то спросил, в надежде, что кто-то уже сделал такое. Сделаю сам - напишу.
Aleksei
ну вот смотри, я далеко ходить не стал, смотрю старый добрый f8app https://github.com/fbsamples/f8app/blob/master/.flowconfig
Egor
он весь на Flow?
Albert
Привет. почему при вызове метода getItem я получаю { _48: 0, _81: 0, _1: null, _36: null }, вместо нормального значения? хотя в самой функции, если выводить в консоли значение правильное.
import { AsyncStorage } from 'react-native';
export default class UserDefaults {
static async getItem(key) {
const value = await AsyncStorage.getItem(key);
return value
}
}
Egor
ладно =)
Egor
Dmitry
Egor
.then().catch()
Albert
Ну так я делаю await
Aleksei