Javascript 我如何确切地知道什么样的;输入“;那里有什么?

Javascript 我如何确切地知道什么样的;输入“;那里有什么?,javascript,reactjs,gatsby,Javascript,Reactjs,Gatsby,我有Java背景,正在努力学习web语言:React。 我记得在java中,函数是用一组输入定义的:publicstaticintadd(intx,inty) 然而,在React中似乎只有一个(props),所有输入都用作prop.x prop.y。。。等 我正在“kakao Map react”包中导入以下映射组件: var Map = function (props) { var id = props.id; var kakao = window.kakao; var

我有Java背景,正在努力学习web语言:React。 我记得在java中,函数是用一组输入定义的:
publicstaticintadd(intx,inty)
然而,在React中似乎只有一个
(props)
,所有输入都用作
prop.x prop.y
。。。等

我正在“kakao Map react”包中导入以下映射组件:

var Map = function (props) {
    var id = props.id;
    var kakao = window.kakao;
    var mapId = id ? id : 'kakao-map-react';
    var map = useMapState().map;
    var dispatch = useMapDispatch();
    React.useEffect(function () {
        if (!map) {
            var events_1 = [];
            var mapContainer = document.getElementById(mapId);
            var mapOptions = {
                center: new kakao.maps.LatLng(props.initialPosition.latitude, props.initialPosition.longitude),
                level: props.level,
            };
            var newMap_1 = new kakao.maps.Map(mapContainer, mapOptions);
            if (props.onMapLoaded) {
                props.onMapLoaded(newMap_1);
            }
            var _loop_1 = function (event_1) {
                if (props[event_1.key]) {
                    kakao.maps.event.addListener(newMap_1, event_1.event, function (mouseEvent) {
                        if (props[event_1.key]) {
                            if (event_1.hasMouseEvent) {
                                var handler = props[event_1.key](newMap_1, mouseEvent);
                                events_1.push({
                                    target: newMap_1,
                                    type: event_1.event,
                                    handler: handler,
                                });
                            }
                            else {
                                var handler = props[event_1.key](newMap_1);
                                events_1.push({
                                    target: newMap_1,
                                    type: event_1.event,
                                    handler: handler,
                                });
                            }
                        }
                    });
                }
            };
            for (var _i = 0, eventsArr_1 = eventsArr; _i < eventsArr_1.length; _i++) {
                var event_1 = eventsArr_1[_i];
                _loop_1(event_1);
            }
            dispatch({
                type: 'SET_MAP',
                payload: newMap_1,
            });
            return function () {
                for (var _i = 0, events_2 = events_1; _i < events_2.length; _i++) {
                    var event_2 = events_2[_i];
                    kakao.maps.event.removeListener(event_2.target, event_2.type, event_2.handler);
                }
            };
        }
        else {
            return function () {
            };
        }
    }, []);
    /*
    * Set new center if long lat changes
    * */
    React.useEffect(function () {
        if (map) {
            map.setCenter(new kakao.maps.LatLng(props.center.latitude, props.center.longitude));
        }
    }, [
        props.center.latitude,
        props.center.longitude,
        props.center.token,
    ]);
    /*
    * Set new level if props.level changes
    * */
    React.useEffect(function () {
        if (map) {
            map.setLevel(props.level);
        }
    }, [
        props.level
    ]);
    return (React.createElement("div", { id: mapId, style: {
            height: '100%'
        } }, props.children));
};

谢谢。

我自己也有Java背景,很惊讶地看到JavaScript世界中的许多文档并不关心API引用中的数据类型。您有两个选择:

  • 在GitHub或其官方网站上浏览他们的文档。一个精心策划的项目列出了他们的输入道具以及他们需要的类型

  • 您在文档中找不到这些信息=>您必须仔细阅读源代码并了解自己

  • 您的IDE可能会帮助您。我使用Intellij,对于大多数软件包,IDE都能够通过其类型脚本定义推断类型


  • 您可以阅读文档,或者如果它是在typescript中实现的,那么它们就是被键入的,或者如果有一个propTypes,它会在那里列出它们。不知道你说的“哪一个是哪一个”是什么意思。API没有很好的文档记录,所以我只是创建了自己的函数。
    props.id, props.initialPosition.latitude, props.initialPosition.longitude, props.level, props.onMapLoaded, props[event_1.key], props.center.latitude, props.center.longitude, props.center.token.