JSON.stringify не может сериализовать циклическую структуру при передаче состояния - PullRequest
1 голос
/ 26 сентября 2019

У меня проблема при получении данных в реагирующем.Я пытаюсь отправить части моего состояния в теле сообщения POST.Я не понимаю, где циклическая структура в моем коде.Я не вижу никаких циклических структур.

Я знаю, что ошибка вызвана состоянием, потому что, когда я просто помещаю несколько строк в тело, все идет хорошо.

import React from 'react';

import {Text, View, Button, StyleSheet, TextInput, TouchableOpacity} from "react-native";

export default class AddKidScreen extends React.Component {

    constructor(props) {
        super(props);
        this.state = {
            name: '',
            age: '',
            parentID: props.navigation.getParam('myID', 0)
        }
    }

    handleAddKid() {
        let url = "https://piotr2.scementowani.pl/apiPiotr";
        let name = this.state.name;
        let age = this.state.age;
        fetch(url, {
            method: 'POST',
            headers: {
                'Content-Type': "application/json",
            },
            body: JSON.stringify({
                method: "addKid",
                name: name,
                age: age,
            }),
        })
            .then(response => response.json())
            .then(responseJson => {
                this.props.navigation.navigate('Main');
            })
            .catch((error) => {
                console.error(error);
            });
    }

    updateValue(text,field) {
        if (field == 'name') {
            this.setState({
                name: text,
            })
        } else if (field == 'age' ){
            this.setState( {
                age: text,
            })
        }
    }

    render() {
        return(
            <View>
                <View style={{flexDirection: 'row', width: '100%'}}>
                    <Text>
                        Imię:
                    </Text>
                    <TextInput
                        placeholder = "Imię"
                        onChange = {(text) => this.updateValue(text,'name')}
                    />
                </View>
                <View style={{flexDirection: 'row', width: '100%'}}>
                    <Text>
                        Wiek:
                    </Text>
                    <TextInput
                        placeholder = "Wiek"
                        onChange = {(text) => this.updateValue(text,'age')}
                    />
                </View>
                <TouchableOpacity onPress={this.handleAddKid.bind(this)}>
                    <Text>DODAJ</Text>
                </TouchableOpacity>
            </View>
        )
    }
}

При запуске handleAddKid ()

я получаюJSON.stringify не может сериализовать циклическую структуру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...