Как извлечь данные sql сервера в моё собственное приложение? - PullRequest
0 голосов
/ 24 февраля 2020

У меня проблема с приложением, разработанным с использованием собственного протокола и sql сервером.

На странице X я хочу выполнить поиск по году и месяцу и отобразить результаты на той же странице формы, Пока я могу отображать их только в предупреждении

Это мой код:

fetch('http://192.168.1.12:80/fetch.php',{
   method:'post',
   header:{
   'Accept':'application/json',
   'Content-type' :'application/json'
   },
   body:JSON.stringify({email:usermail,password:password,})})
   .then((responseData)=>responseData.text()).then((responseJson)=>{
     alert(responseJson)})
   .catch((error)=>{console.error(error);})}
    render() {
        return (
            <View style={styles.container}>
            <View style={styles.pass}>
            <Text style={{marginTop:20 , color:'grey'}}>Annee:</Text>
            <TextInput placeholder={this.state.placeholder1} style={{flex:1,paddingLeft:5}}
            onChangeText= {usermail=>this.setState({usermail })}/>
             </View>
            <View style={styles.pass}>
        <Text style={{marginTop:20 , color:'grey'}}>Mois :</Text>
        <TextInput placeholder={this.state.placeholder2} style={{flex:1,paddingLeft:5}} secureTextEntry={this.state.secureTextEntry}
        onChangeText= {password=>this.setState({password})}
        />
            </View>
            <TouchableOpacity style={styles.butt} onPress={this.userRegister}>
                <Text>Afficher</Text>
            </TouchableOpacity>
            </View>
        );

Форма, которая помогает мне фильтровать мои данные по году и месяцу

результат моего запроса в оповещении

1 Ответ

0 голосов
/ 24 февраля 2020

Несколько вещей ...

Во-первых, было бы полезно отделить этот запрос от вашего компонента просто для простоты отладки в будущем! Могу ли я предложить отдельный сервис, который обрабатывает ваш доступ к данным и возвращает список объектов, которые вы строите из возвращенных JSON?

Во-вторых, вы получаете responseData назад и ... оповещение об этом. Но вы не храните эту информацию в переменной или не вызываете render из этой области. Используемая лямбда-функция знает, что означает responseData, потому что она видит, как она передана (then((responseJson)=>{ alert(responseJson) })), но как render() может узнать об этих данных, если они нигде не хранятся? Куда бы оно ссылалось?

Начните с десериализации вашего JSON, а затем сделайте что-нибудь с этими данными. На данный момент вы, кажется, храните довольно много в состоянии - я не собираюсь читать вам лекции по функциональной декомпозиции компонентов, но если вы следуете шаблону, установленному остальной частью вашего приложения, почему бы не сохранить его там?

...