Javascript объект показывает ноль, но после щелчка, чтобы увидеть, что есть значение, но не может получить доступ - PullRequest
0 голосов
/ 05 февраля 2020

Я занимаюсь разработкой проекта с использованием ReactHook, и у меня проблема с React.createRef(). Я страдаю от этой проблемы, и я хочу знать, как называется эта ситуация? и как это исправить? Как на рисунке 1, это показывает, что значение объекта равно нулю, но когда я нажимаю, чтобы увидеть его. Там есть значение, но я не могу получить доступ к его значению по ключу, потому что не могу получить доступ к ключу null. imageconsole.log variable googleMap">
Рисунок 1. После того, как я попытался console.log переменная googleMap

import { Map, GoogleApiWrapper } from "google-maps-react";
import { GOOGLE_API_KEY } from "../../key.js";

const storePage = ({google}) => {
  const googleMap = React.createRef();
  console.log(googleMap.current.map);
  ...

Рисунок 2. Я просто использую React.createRef() для доступа к компоненту

...
return (
<Map
            google={google}
            zoom={16}
            initialCenter={{ lat: yourLocation.lat, lng: yourLocation.lng }}
            style={{ height: "20rem" }}
            ref={googleMap}
          ></Map>)
}
const enhance = compose(
  GoogleApiWrapper({ apiKey: GOOGLE_API_KEY }),
  connect(mapStateToProps, mapDispatchToProps)
);

export default enhance(StorePage);

Рисунок 3. Я хочу получить доступ к компоненту для получения значения, как показано на рисунке 1
imagegoogleMap.current.map), the error occurs like this figure">
Рисунок 4. Но когда я получаю доступ к значению с помощью клавиши ( вот так googleMap.current.map), ошибка возникает вот так:

1 Ответ

1 голос
/ 05 февраля 2020
import React, {useEffect, useRef} from 'react';

const googleMap = useRef(null);

useEffect(() => {
    console.log(googleMap && googleMap.currentValue)
}, [googleMap])

Обратите внимание, я использовал крючок для создания ссылки. Что это будет делать, так это запускать эффект использования всякий раз, когда изменяется значение ссылки googleMap. IE: до и после обработки ссылки.

...