Baglan
Baglan
0xVoushi
ЛЕЕЕЕЕЕ
Serhii
у тебя this.props.navigation undefined внутри _body
Baglan
помогите пжж
Serhii
посмотри через консоль
Eugene
забавляет наличие иконки телеграмма слева и фотки 🌚
Рома
_body получает левый контекст this
Рома
там нет this.props вообще
Рома
нужно его описывать либо через стрелочную функцию, либо биндить в конструкторе
Eugene
🤔почему у реакт нативщиков так популярно называть методы с _ ?
Aynur
это ещё с C# насколько я знаю
Aynur
или переменные там так называли
Aleksei
🤔почему у реакт нативщиков так популярно называть методы с _ ?
вы просто обобщаете неправильно основываясь на своем субъективном опыте 🙂
Eugene
вы просто обобщаете неправильно основываясь на своем субъективном опыте 🙂
Просто часто вижу тут, да и в разных репозиториях встречаю)
Kirill
это ещё с C# насколько я знаю
Чёт такого не встречал там, это на С/С++ встречалось
Alex
эмуляция приватных методов
Baglan
import React from 'react'; import { ActivityIndicator, Text, View, StyleSheet, ScrollView, Image, Button } from 'react-native'; import { AccordionList} from 'accordion-collapse-react-native'; import { ListItem, Separator, Thumbnail } from 'native-base'; import { SearchBar } from 'react-native-elements'; export default class Catalog extends React.Component { static navigationOptions = { title: 'Компании', }; constructor(props){ super(props); this.state ={ isLoading: true, dataSource: [], } } componentDidMount(){ return fetch('http://192.168.0.2:8099/company/test/') .then((response) => response.json()) .then((responseJson) => { this.setState({ isLoading: false, dataSource: responseJson, }, function(){});}) .catch((error) =>{}); } _head(item){ return( <View> <Separator bordered style={styles.title}> <View> <Image source={{uri: 'http://192.168.0.2:8099/' + item.icon }} resizeMode={'cover'} style={styles.icon} /> <View style={styles.abs}> <Text style={styles.text}>{item.title}</Text> </View> </View> </Separator> </View> ); } _body(item){ return ( <View> {item.childes.map((item,i)=>( <Button onPress={() => this.props.navigation.navigate('BackCall')} title={item.title.trim()} key={item.id} color="#841584" /> ))} </View> ); } render(){ if(this.state.isLoading){ return( <View style={{flex: 1, padding: 20}}> <ActivityIndicator/> </View> ) } return ( <ScrollView style={{backgroundColor: 'white'}}> <SearchBar lightTheme showLoading platform="android" cancelIcon={{ type: 'font-awesome', name: 'chevron-left' }} placeholder='Search' /> <AccordionList list={this.state.dataSource} header={this._head} body={this._body} /> </ScrollView> ); } } const styles = StyleSheet.create({ container: { backgroundColor: '#fff', }, title: { paddingTop: 14, paddingBottom: 16, backgroundColor: '#fff', }, abs: { position: 'absolute', top: 0, left: 30, }, text: { fontSize: 15, color: '#696969' }, icon: { width: 18, height: 18, }, category: { paddingTop: 6, paddingBottom: 6, } });
Alexandr
Добрый день, подскажите пожалуйста Expo поддерживает Firebase и Facebook Analytics SDK
marabu
import React from 'react'; import { ActivityIndicator, Text, View, StyleSheet, ScrollView, Image, Button } from 'react-native'; import { AccordionList} from 'accordion-collapse-react-native'; import { ListItem, Separator, Thumbnail } from 'native-base'; import { SearchBar } from 'react-native-elements'; export default class Catalog extends React.Component { static navigationOptions = { title: 'Компании', }; constructor(props){ super(props); this.state ={ isLoading: true, dataSource: [], } } componentDidMount(){ return fetch('http://192.168.0.2:8099/company/test/') .then((response) => response.json()) .then((responseJson) => { this.setState({ isLoading: false, dataSource: responseJson, }, function(){});}) .catch((error) =>{}); } _head(item){ return( <View> <Separator bordered style={styles.title}> <View> <Image source={{uri: 'http://192.168.0.2:8099/' + item.icon }} resizeMode={'cover'} style={styles.icon} /> <View style={styles.abs}> <Text style={styles.text}>{item.title}</Text> </View> </View> </Separator> </View> ); } _body(item){ return ( <View> {item.childes.map((item,i)=>( <Button onPress={() => this.props.navigation.navigate('BackCall')} title={item.title.trim()} key={item.id} color="#841584" /> ))} </View> ); } render(){ if(this.state.isLoading){ return( <View style={{flex: 1, padding: 20}}> <ActivityIndicator/> </View> ) } return ( <ScrollView style={{backgroundColor: 'white'}}> <SearchBar lightTheme showLoading platform="android" cancelIcon={{ type: 'font-awesome', name: 'chevron-left' }} placeholder='Search' /> <AccordionList list={this.state.dataSource} header={this._head} body={this._body} /> </ScrollView> ); } } const styles = StyleSheet.create({ container: { backgroundColor: '#fff', }, title: { paddingTop: 14, paddingBottom: 16, backgroundColor: '#fff', }, abs: { position: 'absolute', top: 0, left: 30, }, text: { fontSize: 15, color: '#696969' }, icon: { width: 18, height: 18, }, category: { paddingTop: 6, paddingBottom: 6, } });
_body = (item) => {...}
marabu
_body = (item) => {...}
либо оставить как сейчас, но забиндить в конструкторе this._body = this._body.bind(this)
Baglan
все заработало спаибо
Myla
Всем привет! У меня есть компонент кнопки, стили передаю через пропс, и есть кейс когда в кнопке есть иконка, иконкой тоже хотелось управлять через пропс, но имя иконки стринга и обязательный параметр, как это красивее разрулить?
Alexander
Ребят, кто может подсказать, в этом коммите https://github.com/facebook/react-native/commit/d7e0fe2c2c0cf8412d97ae16d0627c1111b59bf8 RN cameraRoll стал использовать Photos.framework или также по-старому использует AssetsLibrary.framework. По коду не пойму.
D
Пытаюсь заупустить стартовый проект вот по этому туториалу https://codeburst.io/setting-up-development-environment-using-react-native-on-windows-dd240e69f776, не используя expo, на linux manjaro... Все сделал, поставил vs-code, android-studio, прописал в пути ANDROID_HOME и вот дошел до этапа билда и запуска... билд идет но виснет на этапе: :app:packageDebug UP-TO-DATE :app:assembleDebug UP-TO-DATE :app:installDebug дальше не идет... AVD Android emulator запущен хотя на нем всегда только черный экран... гуглил проблему, люди писали решения типа adb kill-server && adb start-server и тд не помогает ничего... Может надо как-то по-другому на linux запускать?
D
кстати AVD emulator я запускаю не с консоли а просто в android stuiod через tools - AVD Manager
Alexey
🤔почему у реакт нативщиков так популярно называть методы с _ ?
это практика применения private и protected методов. Фактически, _ означает, что вызывать это за пределами класса не надо.
Eugene
https://github.com/airbnb/javascript/issues/1024 🙂
Aleksei
вывод такой: завязываем офтопить 🙂
Myla
а в чем проблема? пропс строку прокинуть в кнопку и в иконку вставить?
в том, что у меня есть инстансы этого же компонента кнопки, у которых нет иконки, а для иконки name=required
Maxim 📱 D
это ничего не меняет
Maxim 📱 D
{this.props.iconName?<Icon/>: <View/>}
Myla
Так сойдет?
так не вышло, но вышло так {this.props.iconName && <FontAwesome name={this.props.iconName}}
Myla
Так сойдет?
спасибо :)
Maxim
никак не могу понять как работает setNativeProps и зачем он нужен, можете в двух словах объяснть, пожалуйста?
Dmitry
Потому что RN бывает неадекватно обрабатывает false в рендере, а он там будет
Dmitry
Лучше вынести рендер иконки в отдельный метод и там сделать обычный if
Anonymous
Всем привет, кто обновлял react netive до версии 0.57.0, скинте плиз свой package.json and . babelrc
Anonymous
обновился с версии 0.55 и посыапался проект =(
Anonymous
установил babel core 7
Anonymous
не помогло
Dmitry
А ты уверен, что дело в этом?
Maxim 📱 D
Serhii
или просто вот так {!!this.props.iconName && <FontAwesome name={this.props.iconName}}
Serhii
и все ок тогда
D
Народ почему у меня в эмуляторе черный экран?)
D
включи его?)
Как включить?) Я сделал все как описано в туториале https://medium.com/@dooboolab/running-react-native-app-in-ubuntu-18-04-7d1db4ac7518 и поитогу все ок но в эмуляторе черный экран а в процесс билда проекта зависает на : app:packageDebug UP-TO-DATE :app:assembleDebug UP-TO-DATE :app:installDebug
D
Я уже и так и этак пытался - ничего не помогает, пооду надо будет на винде пробовать запустить
Maxim 📱 D
если твое приложение уже есть на эмуляторе удали
Maxim 📱 D
эмуль пересоздай, из андроид студии открой, много вариантов
Maxim
я добавил к анимации слушатель и он вызывается только при старте и конце, так и должно быть? this.color = new Animated.Value(0); this.color.addListener(({value}) => { console.log(value) })
Maxim
Animated.timing(this.color, { toValue: 1, duration: 1000, easing: Easing.linear }).start(); выводит 0 и 1
Anonymous
Maxim 📱 D
Windows
✋🏻
Maxim 📱 D
rn 0.57 не работает на винде, была инфа
Anonymous
ок, 0.56 - работает?
Kirill
.57.4 работает
Anonymous
спасибо!
Aynur
0.57 нормально работает на винде, а вот 0.56 - как раз таки нет
Alexandr
Добрый вечер, кто-то устанавливал react-native-admob?
Alexandr
Подскажите как???
Doc
Ура решил пробелму
Doc
вообщем, если ктото с подобным столкнется впревую очередь проверьте все ли Вы библиотеки связали в xCode. У меня видимо в какой то моент отпала привязка библиотеки eract native device info ... в итоге куча проблем и сломаннвый мозг три дня
Dmitry
я бы вообще отказася от react-native link и ручками поставил
Dmitry
само собой
Dmitry
я их и использую, а вот react-native-link непример не чистит зависимости в gradle, когда делаешь unlink, а еще дублирует зависимости, если link дернуть сдругого компа
Dmitry
Я ставлю через PODs - то, что ставится, остальное - вручную
D
Народ, я что-то не понимаю про ежект в Экспо... Например я писал приложение с ним, используя различные его либы и тд и было норм, но потом пришла задача, например что приложение должно работать в фоновом режиме или весить меньше 7 мб, с Экспо это невозможно и я решил эджектнуть Экспо и начать писать без его помощи то что собственно происходит?
D
Ничего переписывать не надо будет? Все те модули, которые я брал из Экспо, что с ними?
Vit
у кого-нить было?
Vit
The library com.google.android.gms:play-services-measurement-api is being requested by various other libraries at [[16.0.3,16.0.3]], but resolves to 16.0.2. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies
Vit
в депенденсах 16.0.2 вообще нету откуда оно ее тащит ¯\_(ツ)_/¯ я не знаю