Pu sh объекты из MongoDB в массив, расположенный в React Hook - PullRequest
0 голосов
/ 04 мая 2020

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

Я получаю объект из моей базы данных, который возвращает JSON, который вы можно увидеть в нижней части этого поста.

Я пытаюсь получить доступ к этим данным, используя ax ios, который связан с моим внутренним кодом. Я могу успешно получить свои данные. Однако я не понимаю, как использовать эти данные для объектов pu sh в моих функциях: массив. Вот мой код React Hook:

import axios from 'axios';
import React, { useState, createContext } from 'react';

export const Classes = createContext();

export const ClassesProvider = props => {
  const [classes, setClasses] = useState([
    {
      type: "FeatureCollection",
      crs: {
        type: "name",
        properties: {
          name: "urn:ogc:def:crs:OGC:1.3:CRS84"
        }
      },
      features: []
    }
  ]);
  axios({
    url: 'http://localhost:5000/classes/api',
    method: 'GET'
  })
  .then( data => {
    {data.data.map(loc => (
      setClasses(classes => classes.concat(loc.location.coOrdinates))
    ))}
  })
  .catch(err => {
    console.log(err);
  })
  return (
    <Classes.Provider value={[classes, setClasses]}>
      {props.children}
    </Classes.Provider>
  )
}

В идеале, для каждого объекта, возвращаемого моей базой данных, я хочу по существу объединить pu sh в функции.

Я попытался сделать: classes => classes.features.concat (не определено)

Вот мой json:

{
        "location": {
            "coOrdinates": {
                "properties": {
                    "park_id": 960,
                    "facilityid": 28014,
                    "name": "Bearbrook Skateboard Park",
                    "name_fr": "Planchodrome Bearbrook",
                    "address": "8720 Russell Road",
                    "address_fr": "8720, chemin Russell",
                    "facility_t": "flat",
                    "facility_1": "plat",
                    "accessctrl": false,
                    "accessible": false,
                    "open": "nul",
                    "notes": "Outdoor",
                    "modified_d": "2018/01/18",
                    "created_da": "nul",
                    "facility": "Neighbourhood : smaller size facility to service population of 10,000 or less",
                    "facility_f": "De voisinage : petite installation assurant des services à 10 000 résidents ou moins.",
                    "descriptio": "Flat asphalt surface, 5 components",
                    "descript_1": "Surface d'asphalte plane, 5 modules",
                    "picture_li": "nul",
                    "picture_de": "nul",
                    "picture_1": "nul"
                },
                "geometry": {
                    "coordinates": {
                        "axisX": "-75.3372987731628",
                        "axisY": "45.383321536272049"
                    },
                    "types": "Poiint"
                },
                "typey": "Feature"
            },
            "city": "London"
        },
        "_id": "5eaeb513253901526550afa7",
        "title": "newone",
        "description": "naked people",
        "image": "../classes/lifedraw.jpeg",
        "link": "",
        "activity": "draw",
        "credits": "3",
        "level": "medium",
        "category": "fine",
        "__v": 0
    },

По сути, я хочу поместить sh все внутри координат в объект внутри функций крюк. Любое направление или идеи будут действительно полезны!

...