Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript react和typescript上的扩展运算符错误_Javascript_Reactjs_Typescript - Fatal编程技术网

Javascript react和typescript上的扩展运算符错误

Javascript react和typescript上的扩展运算符错误,javascript,reactjs,typescript,Javascript,Reactjs,Typescript,我有一个功能: handleMarkerClick(targetMarker) { this.setState({ markers: this.state.markers.map(marker => { if (marker === targetMarker) { return { ...marker, // error TS1136: Property assignm

我有一个功能:

handleMarkerClick(targetMarker) {
    this.setState({
        markers: this.state.markers.map(marker => {
            if (marker === targetMarker) {
                return {
                    ...marker, //  error TS1136: Property assignment expected.

                    showInfo: true, // error TS1005: ',' expected.
                }; // error TS1135: Argument expression expected, error TS1005: ')' expected.
            }
            return marker; //  error TS1068: Unexpected token. A constructor, method, accessor, or property was expected.
        }), // Declaration or statement expected.
    });
}
我看到了很多错误:

  • 物业转让预期
  • “预期的”
  • 应为参数表达式
  • 您可能需要适当的加载程序来处理此文件类型。 |导出。u_esModule=true; |导出[“默认”]=PopUpInfoWindowExample; |返回标记
但当我删除“marker”附近的“…”时,我的函数无法正常工作

我这样做:

    handleMarkerClick(targetMarker) {
    this.setState({
        markers: this.state.markers.map(marker => {
            if (marker === targetMarker) {
                return {
                    marker, // delete ...
                    showInfo: true,
                };
            }
            return marker;
        }),
    });
}

为什么??我能做些什么来获得正确的功能

如果
marker
是一个对象,则可以尝试使用
object.assign()
,而不是使用扩展运算符。下面是一个例子:

marker = Object.assign({}, marker);

marker
是一个字符串吗?marker是数组的一个元素(markers)——谷歌地图是
targetMarker
数组吗?
marker===targetMarker
…marker
的预期结果是什么?您能告诉我们您收到的每个错误的行号(以及相应的行)吗?targetMarker是一个目标标记(一个)。marker===targetMarker-用于检查标记数组的可单击标记。