Denis
Всем привет, ребята такой кейс: на экране 7 разных списков (я так понимаю что раздельно использовать FlatList не комильфо) и вроде для такого кейса нужно использовать SectionList, но я не совсем понимаю как так как у списков разные контейнеры (дизайн), может кто подсказать?
Denis
как это 7 разных списков, может дизайн есть ?
Дизайн сбросить не могу 😕 Но визуально это 7 разных секций (каждая имеет свой дизайн) и 7 http запросов соответственно
Alexiagray
redux-connect
import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; import { login } from '../actions'; import Login from '../screens/Login'; const mapStateToProps = state => ({ isAuthenticated: state.auth.isAuthenticated, }); const mapDispatchToProps = dispatch => ({ login, }, dispath); export default connect( mapStateToProps, mapDispatchToProps )(Login) initPage.js
Alexiagray
у меня получается так в контейнере initPage и туда идет и логин экшн и логин компонент
Артем
ребят, подскажите, в чем плюс использования нативных хедеров навигации а не своих компонентов?
Артем
свой компонент хедера можно сделать быстро, а чтобы нативные нормально стилизовать/ пробросить кнопку какую-нибудь уходит много времени
Vitaly
Дизайн сбросить не могу 😕 Но визуально это 7 разных секций (каждая имеет свой дизайн) и 7 http запросов соответственно
ну если я правильно понимаю, то например в айтеме который рендеришь юзать поле тайп, или какое то другое поле, и в рендерайтем проверять этот тайп и подсовывать нужный тебе компонент айтема
Denis
Такой тогда вопрос, на сколько нормально делать вложенные FlatList?
Dmitry
Кто нибудь знает сколько занимает подтверждение новой подписки в appStoreConnect ? Создал новую пару дней назад, до сих пор висит
Dmitry
свой компонент хедера можно сделать быстро, а чтобы нативные нормально стилизовать/ пробросить кнопку какую-нибудь уходит много времени
Все зависит от дизайна и целей. Я чаще всего делаю кастомные хедеры, несколько разных вариантов и их использую. Например с кнопками назад, или стрелками, с другими экшенами
Vitaly
Такой тогда вопрос, на сколько нормально делать вложенные FlatList?
звучит не очень, и надо еще проверять работают ли вложенные скроллы, на андроиде вроде были проблемы до какой то версии
Артем
Никогда не юзал)
постоянно свои компоненты делаешь для хедера/навигации?
Dmitry
ну да) Есть уже наработки, поэтому это не с нуля уже
Артем
а какие там наработки? Кнопка назад обернутая в стилизованный View?
Dmitry
а какие там наработки? Кнопка назад обернутая в стилизованный View?
типа такого export default class HeaderLarge extends React.Component<Props> { render() { const { title, label, onLabelPress, customComponent, backgroundColor = Colors.primary, titleColor = Colors.white, } = this.props; return ( <HeaderBase height={styles.container.height} backgroundColor={backgroundColor}> <View style={styles.container}> <TextLarge color={titleColor}>{title}</TextLarge> </View> <View style={styles.sides}> {customComponent ? ( customComponent ) : ( <ButtonBase onPress={onLabelPress}> <TextLabel color={Colors.placeholder}>{label}</TextLabel> </ButtonBase> )} </View> </HeaderBase> ); } }
Артем
понял)
Владимир
Ребята, как переписать этот компонент, чтобы в нем работал componentDidMount?
Владимир
Владимир
Danila
Сделать его классом
Владимир
Сделать его классом
export default class ShopCard extends Component{ }
Владимир
Верно?
Danila
Экспорт тебе не нужно трогать
Danila
class ShopCard extends React.Component Вместо const ShopCard
Владимир
class ShopCard extends React.Component Вместо const ShopCard
вроде запустился, но не отображает содержимое render(){return(…)}
Владимир
N
Понятно
Anonymous
Доброе утро друзья. Подскажите пожалуйста, какие языки начать учить, чтобы стать разработчиком приложений, для андроид и iOS. С чего начать, кто может обучить, какая ценовая политика?
Шерзод
Всем привет. this.props.navigation.navigate('Comments', {answer: 'test'}). Как передать данные без переключения на другой экран?
Анатолий
setParams
Kto?
Kotlin, Swift
Класс
Aynur
Всем привет. this.props.navigation.navigate('Comments', {answer: 'test'}). Как передать данные без переключения на другой экран?
куда передать? в дочерний компонент? или отобразить их в другом? в первом случае props, во втором redux\mobx
Шерзод
redux/mobx
спасибо
Kto?
Английский
Aleksei
офтоп
Lev
Всем привет, кто использовал react-native-document-picker для ios? У меня нету в меню выбора локальных файлов и в iCloud Drive так же пусто
Lev
Ivan
4 айфон?
Lev
Да
Lev
В этом проблема?
Lev
iOS 9.3.5 на телефоне
Lev
Обе дерективы в info.plist я добавил
Lev
По умолчанию, плагин ставится 2.3 версии, в коментах пишут что нужно 3ю версию ставить
чей ты
Есть кто пользуется данным плагином? Какая версия его стоит?
ничего лучше нету чем https://github.com/unimodules/react-native-unimodules + https://www.npmjs.com/package/expo-document-picker
Lev
Ок, спс, гляну
Kirill
Народ, кто работал с RNN, правильно ли я понимаю, что Navigation.setRoot делает новый Root, но не "убивает" старый, и тк они оба активны, то и при вызове экшена у меня два раза будут отрабатывать редюсеры в редаксе.
чей ты
как разянуть BarCodeScanner на всю доступную площадь экрана? flex: 1 //нет ...StyleSheet.absoluteFillObject // тоже не помогает
чей ты
width: window.width height: window.height
тоже , бесполезно
чей ты
onLayout выдает значения со стилей , но рамки торчат
Kto?
тоже , бесполезно
Значит у тебя парент фиксированный
чей ты
Kirill
Откуда такая информация, что старый root не убивается?
потому что у меня сейчас вот так отрабатыет редакс, те если я запушу два одинаковых setRoot, то экшены отрабатывают дважды(в саге), причем в девтулах этого не видно,а когда поставил логер, то увидел, что дважды отработало
чей ты
чей ты
parent.unfix()
это "многое" прояснило
D
Почему подобный экшн вызывает ошибку "undefined is not an object (evaluating action.url)" ? export const initFavorites = () => { AsyncStorage.getItem('exaasd', (error, data) => { if (data) { return { type: FAVORITES_SET, payload: JSON.parse(data), }; } AsyncStorage.setItem('exaasd', JSON.stringify([]), error => { return { type: FAVORITES_SET, payload: [], }; }); }); };
D
Код не валидный
почему не валидный?
чей ты
почему не валидный?
Прогони через линтер увидишь
D
Прогони через линтер увидишь
код валидный, тут проблема не в этом
Aleksei
Почему подобный экшн вызывает ошибку "undefined is not an object (evaluating action.url)" ? export const initFavorites = () => { AsyncStorage.getItem('exaasd', (error, data) => { if (data) { return { type: FAVORITES_SET, payload: JSON.parse(data), }; } AsyncStorage.setItem('exaasd', JSON.stringify([]), error => { return { type: FAVORITES_SET, payload: [], }; }); }); };
вилами по воде: у вас тут ничего не возвращается (return нет), а потом в редьюсере (или в мидлваре) action.url пытается прочитать, что соотв-о падает при undefined (ничего не вернули же с экшена)
Rinat
ребят привет. тем, кто юзает reactnavigation.org , в bottomTabNavigator на некоторых андроидах не показывается подпись к меню, label к табу, в чем может быть?
чей ты
Почему подобный экшн вызывает ошибку "undefined is not an object (evaluating action.url)" ? export const initFavorites = () => { AsyncStorage.getItem('exaasd', (error, data) => { if (data) { return { type: FAVORITES_SET, payload: JSON.parse(data), }; } AsyncStorage.setItem('exaasd', JSON.stringify([]), error => { return { type: FAVORITES_SET, payload: [], }; }); }); };
export const initFavorites = async (dispatch) => { const data = await AsyncStorage.getItem('exaasd'); if (data) { return dispatch({ type: FAVORITES_SET, payload: JSON.parse(data), }); } await AsyncStorage.setItem('exaasd', JSON.stringify([]); return dispatch({ type: FAVORITES_SET, payload: [], }); };
Alexiagray
парни, можно как-то упросить эмуль
Alexiagray
убрать допустим рамки его
Богдан
Всем привет!!! Есть девайс - шлёт чанки аудио через udp (кагбs real time), как мне собрать buffer которsй я б смог воспроизвести и одновременно дописать? спасайте 🙂