Denis
Всем привет, ребята такой кейс: на экране 7 разных списков (я так понимаю что раздельно использовать FlatList не комильфо) и вроде для такого кейса нужно использовать SectionList, но я не совсем понимаю как так как у списков разные контейнеры (дизайн), может кто подсказать?
Vitaly
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 и туда идет и логин экшн и логин компонент
Denis
Артем
ребят, подскажите, в чем плюс использования нативных хедеров навигации а не своих компонентов?
Артем
свой компонент хедера можно сделать быстро, а чтобы нативные нормально стилизовать/ пробросить кнопку какую-нибудь уходит много времени
Denis
Denis
Такой тогда вопрос, на сколько нормально делать вложенные FlatList?
Dmitry
Кто нибудь знает сколько занимает подтверждение новой подписки в appStoreConnect ? Создал новую пару дней назад, до сих пор висит
Артем
Dmitry
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
Сделать его классом
Владимир
Верно?
Danila
Экспорт тебе не нужно трогать
Danila
class ShopCard extends React.Component
Вместо const ShopCard
Владимир
Владимир
N
Понятно
Anonymous
Доброе утро друзья. Подскажите пожалуйста, какие языки начать учить, чтобы стать разработчиком приложений, для андроид и iOS. С чего начать, кто может обучить, какая ценовая политика?
Шерзод
Всем привет. this.props.navigation.navigate('Comments', {answer: 'test'}). Как передать данные без переключения на другой экран?
Анатолий
setParams
Vladimir
Kto?
Aynur
Шерзод
Maria
Aynur
Шерзод
Kto?
Английский
Aleksei
офтоп
Lev
Всем привет, кто использовал react-native-document-picker для ios? У меня нету в меню выбора локальных файлов и в iCloud Drive так же пусто
Lev
Ivan
Lev
Да
Lev
В этом проблема?
Lev
iOS 9.3.5 на телефоне
X∆N
Lev
Обе дерективы в info.plist я добавил
Lev
По умолчанию, плагин ставится 2.3 версии, в коментах пишут что нужно 3ю версию ставить
Lev
Lev
Ок, спс, гляну
Kirill
Народ, кто работал с RNN, правильно ли я понимаю, что Navigation.setRoot делает новый Root, но не "убивает" старый, и тк они оба активны, то и при вызове экшена у меня два раза будут отрабатывать редюсеры в редаксе.
чей ты
как разянуть BarCodeScanner на всю доступную площадь экрана?
flex: 1 //нет
...StyleSheet.absoluteFillObject // тоже не помогает
Khorark
Kto?
чей ты
чей ты
onLayout выдает значения со стилей , но рамки торчат
чей ты
Kirill
Откуда такая информация, что старый root не убивается?
потому что у меня сейчас вот так отрабатыет редакс, те если я запушу два одинаковых setRoot, то экшены отрабатывают дважды(в саге), причем в девтулах этого не видно,а когда поставил логер, то увидел, что дважды отработало
Kto?
чей ты
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: [],
};
});
});
};
чей ты
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й я б смог воспроизвести и одновременно дописать?
спасайте 🙂