volga-volga / react-native-yamap

React Native Yandex Maps | Яндекс Карты | Yandex.MapKit implementation for react native | YandexMaps
152 stars 83 forks source link

Падает на useState #71

Closed NikNik516-1 closed 3 years ago

NikNik516-1 commented 3 years ago

Пробую открыть карту в приложении. В версии 1.1.0-beta приложение крашится при нажатии на "up" только в Андроиде только если снять комментарий со строки: setLat(lat + 0.001);

В 1.0.20 все Ок, но работает медленнее что ли:

`function App(props) { YaMap.init(MAP_KEY); //YaMap.setLocale('ru_RU'); // 'ru_RU'... Geocoder.init(GEOCODER_KEY);

const [lat, setLat] = useState(55.88855); const [lon, setlon] = useState(37.6475); const [zoom, setZoom] = useState(14);

map = React.createRef();

handleUp = () => { console.log('lat:', lat, 'lon:', lon, 'zoom:', zoom); setLat(lat + 0.001); };

useEffect( () => this.map.current.setCenter( {lon: lon, lat: lat}, zoom, 0, 0, 1, Animation.SMOOTH, ), [lat, lon, zoom], );

return ( <> <View style={styles.container}> <YaMap ref={this.map} style={styles.map} userLocationIcon={USER} showUserPosition> </YaMap> </View> <View> <TouchableOpacity onPress={handleUp}> <Text>Up</Text> </TouchableOpacity> </View> </> ); }

const styles = StyleSheet.create({ container: { marginTop: 60, flex: 1, height: '50%', }, map: { height: 300, width: '100%', }, }); export default App;'

unLUCKYdude commented 3 years ago

Сомневаюсь, что инициализировать карту в теле функции App является хорошей практикой.

NikNik516-1 commented 3 years ago

Спасибо, накосячил. :(