• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Fetch metoda post - react js

Object Storage Arubacloud
0 głosów
445 wizyt
pytanie zadane 9 października 2018 w JavaScript przez Votex Początkujący (310 p.)

Witam , dopiero zaczynam z fetchem i nie do końca wiem co jest źle.

Problem wygląda tak po użyciu metody post i przesłaniu obiektu do bazy zostaje dodany nowy element , zamiast jego podmienienia. Używam json servera do swojej aplikacji.  Chciałbym aby obiekt 'obj' został podmieniony w miejsce easy w api, a zamiast tego dostaje poprostu 4 element z id:4 .

import React, { Component } from 'react';
import './App.css';

class App extends Component {
    constructor(props){
        super(props);
        const isLoading = false;
        this.state = {
            isLoading,
        }
    }
    onLoad = () => {
        const obj = [
            {id: 1,time: 10},
            {id: 2,time: 15},
            {id: 3,time: 50},
        ];
        fetch('http://localhost:3001/easy')
            .then( resp => resp.json())
            .then( bestTimes => {
                console.log(bestTimes)
            }
        );
        fetch('http://localhost:3001/easy', {
            method: 'POST',
            body: JSON.stringify( { obj })
        })
            .then( resp =>  resp.json())
            .then( data => console.log(data))
        };
  render() {
        if(!this.state.isLoading){
            {this.onLoad()}
        }
        return <div>
            załadowano
        </div>
      }
}
export default App;

plik json wygląda tak :

{
  "easy": [
    {
      "id": 1,
      "time": "23"
    },
    {
      "id": 2,
      "time": "25"
    },
    {
      "id": 3,
      "time": "30"
    },
//własnie ten element wskakuje w to miejsce zamiast podmienienia
    {
      "id": 4
    }
  ],
  "medium": [
    {
      "id": 1,
      "time": "47"
    },
    {
      "id": 2,
      "time": "56"
    },
    {
      "id": 3,
      "time": "71"
    }
  ]
}

 

1 odpowiedź

0 głosów
odpowiedź 9 października 2018 przez ShiroUmizake Nałogowiec (46,300 p.)
wybrane 10 października 2018 przez Votex
 
Najlepsza
Zdefinuj json serwera => mongo?
komentarz 9 października 2018 przez Votex Początkujący (310 p.)
a czy to zdefiniowanie jest konieczne? Wydaję mi się ,że coś źle przekazuje do json server tylko nie wiem dokładnie co. Próbowałem to zmienić za pomocą metody PUT , ale wtedy wyskakuje mi błąd 404.
1
komentarz 10 października 2018 przez ShiroUmizake Nałogowiec (46,300 p.)

No raczej xp, tak by każdy mógł sobie nadpisywać xd.

Przed wszystkim, jeżeli korzystasz z biblioteki react-app to wywołujesz serwer webpackowy.

https://webpack.js.org/configuration/dev-server/

Który działa na node.js, stricte jest o wrapowany o to.

By móc wywołować połączenie musisz przekazać konfiguracje.

module.exports = {
  //...
  devServer: {
    before: function(app) {
      app.get('/some/path', function(req, res) {
        res.json({ custom: 'response' });
      });
    }
  }

Ale to tylko działa przy trybie dev. Ma ci to pomóc w pracy, nie musisz odświeżać strony etc., ale ta cześć koduje nie znajdzie w docelowym rozwiązaniu(tak mi się wydaje, nigdy za bardzo nie eksperymentowałem z devSerwerem) po zbudowaniu aplikacji na wersję produkcyjną.

Powinen być do tego osobny projekt.

Po trzecie, devServer nie ma takiego zdefinowanego route ani zdefiniowanej metody jaka jest akceptowalna na tym route oraz co ma wykonać z kodem.

Podobne pytania

+1 głos
1 odpowiedź 353 wizyt
pytanie zadane 2 kwietnia 2021 w JavaScript przez Oskar Szkurłat Bywalec (2,780 p.)
0 głosów
1 odpowiedź 1,148 wizyt
pytanie zadane 7 kwietnia 2018 w JavaScript przez lastavenger Obywatel (1,060 p.)
0 głosów
1 odpowiedź 425 wizyt
pytanie zadane 25 września 2019 w JavaScript przez Mariusz Podgórski Początkujący (400 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...