Baglan
Baglan
0xVoushi
ЛЕЕЕЕЕЕ
Serhii
у тебя this.props.navigation undefined внутри _body
Baglan
помогите пжж
Serhii
посмотри через консоль
Eugene
забавляет наличие иконки телеграмма слева и фотки 🌚
Рома
_body получает левый контекст this
Рома
там нет this.props вообще
Рома
нужно его описывать либо через стрелочную функцию, либо биндить в конструкторе
Eugene
🤔почему у реакт нативщиков так популярно называть методы с _ ?
Aynur
это ещё с C# насколько я знаю
Aynur
или переменные там так называли
Eugene
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) => {...}
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
Eugene
https://github.com/airbnb/javascript/issues/1024 🙂
Aleksei
вывод такой: завязываем офтопить 🙂
Maxim 📱 D
Maxim 📱 D
это ничего не меняет
Maxim 📱 D
{this.props.iconName?<Icon/>: <View/>}
Maxim 📱 D
Myla
Так сойдет?
так не вышло, но вышло так {this.props.iconName && <FontAwesome name={this.props.iconName}}
Myla
Maxim 📱 D
Maxim
никак не могу понять как работает setNativeProps и зачем он нужен, можете в двух словах объяснть, пожалуйста?
Dmitry
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
Maxim 📱 D
Serhii
или просто вот так {!!this.props.iconName && <FontAwesome name={this.props.iconName}}
Serhii
и все ок тогда
D
Народ почему у меня в эмуляторе черный экран?)
Maxim 📱 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
эмуль пересоздай, из андроид студии открой, много вариантов
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
Evgeniy
Anonymous
Maxim 📱 D
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 вообще нету откуда оно ее тащит ¯\_(ツ)_/¯ я не знаю