La solicitud de parche no se envía, el servidor devuelve el código 422. El parche Postman funciona bien. Tal vez no estoy enviando la solicitud correctamente. Aquí está mi código EditingPatientScreen:
function EditingPatientScreen({route, navigation}) { const {item} = route.params; const [values, setValues] = useState({}); const handleChange = (name, e) => setValues(a => ({ ...a, [name]: e })); const onSumbit = (id) => { console.log(id) patient.put(id) .then(({ data }) => { navigation.navigate("HomeScreen"); console.log(values) }).catch(e => { console.log(e); }); }; return ( <> <View style={{ flex: 1, backgroundColor: `#ffffffff` }}> <View style={{ backgroundColor: `#ffffff` }}> <TextInput style={[styles.text_input]} label={"Имя и Фамилия"} onChangeText={ text =>handleChange("fullname", text)} value={values.fullname} autoFocus /> <TextInput style={styles.text_input} label={" Номер телефона"} keyboardType="phone-pad" dataDetectorType={"phoneNumber"} onChangeText={ text =>handleChange( "phone", text)} value={values.phone} autoFocus /> <View style={styles.viewButton}> <View style={styles.buttonContainer}> <TouchableOpacity style={styles.touchableOpacity} onPress={() => onSumbit(item._id)}> <Text style={styles.touchableOpacityText}><MaterialIcons name={"done"} size={17}/> Сохранить</Text> </TouchableOpacity> </View> </View> </View> </View> </> ); } export default EditingPatientScreen;Aquí está mi código depatients.js. Creo que hice lo correcto aquí.
import axios from "axios"; export default { post: values => axios.post('http://localhost:5000/patients', values), show: id => axios.get('http://localhost:5000/patients/' + id), get: () => axios.get('http://localhost:5000/patients'), remove: id => axios.delete('http://localhost:5000/patients/ ' + id), put: id => axios.patch('http://localhost:5000/patients/ ' + id), }¿Como resolver el problema?
Hay un espacio adicional en su URL, debería verse así:
put: id => axios.patch('http://localhost:5000/patients/' + id),