我是 React Native 的新手。
我想做的是制作一个类似谷歌地图的应用程序。在MainMap.js屏幕上,当我们进入时,屏幕会立即生成 2 个搜索栏。第一个将有文本"Your location"。第二个以此类推为空,供用户输入搜索位置。
但是,我在使用该FlatList组件时遇到了一些问题。在我的PlaceInput组件中,我使用defaultValue, 作为道具来输入文本。然后在 中MainMap.js,我将有一个最初设置为 的状态"Your Location",然后我将其更改为null从FlatList第二个PlaceInput组件开始渲染的时间。
这是MainMap.js*
import React from 'react';
import {
TouchableWithoutFeedback,
StyleSheet,
Keyboard,
PermissionsAndroid,
Platform,
View,
Button,
FlatList,
Dimensions
} from 'react-native';
import PlaceInput from '../components/PlaceInput';
import axios from 'axios';
import PolyLine from '@mapbox/polyline';
import MapView, {Polyline, Marker} from 'react-native-maps';
import Geolocation from 'react-native-geolocation-service';
const INCREMENT = 1;
const HEIGHT = Dimensions.get('window').height;
const WIDTH = Dimensions.get('window').width;
class MainMap extends React.Component{
constructor(props){
super(props);
this.state={
_userLocationDisplayed: null,
userLatitude: 0,
userLongitude: 0,
numOfInput:[0,1],
counter: 1,
};
};
componentDidMount(){
this._requestUserLocation();
};
// Get user current location
// Ask user permission for current location
// Request the Directions API from Google
// Get the formatted_address & name from Google Places API
// Adding a search bar
onAddSearch(){
this.setState((state) => ({
counter: state.counter + INCREMENT,
numOfInput: [...state.numOfInput, state.counter],
}));
};
onChangeSearchDisplay(){
this.setState({
_userLocationDisplayed: null
})
};
慕标琳琳
三国纷争
相关分类