setRTLTextPlugin 无法多次调用-reactjs

问题描述 投票:0回答:3

我在reactjs中使用

mapboxgl
库。 我的地图位于选项卡内。当我在选项卡之间切换时出现此错误。

    componentDidMount() {


        mapboxgl.accessToken = '*****';
        mapboxgl.setRTLTextPlugin(
            'https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.2.3/mapbox-gl-rtl-text.js',
            null,
            true // Lazy load the plugin
        );
}

但是我收到了这个错误:

Uncaught Error: setRTLTextPlugin cannot be called multiple times.
reactjs mapbox
3个回答
4
投票

这里有一个解决方案,您可以检查以简化您的搜索,这是您必须做的

if (mapboxgl.getRTLTextPluginStatus() === 'unavailable') {
  mapboxgl.setRTLTextPlugin(
    'https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.2.3/mapbox-gl-rtl-text.js',
    (): void => {},
    true // Lazy load the plugin only when text is in arabic
  )
}

1
投票

解决方案:

if (mapboxgl.getRTLTextPluginStatus() !== 'loaded') {mapboxgl.setRTLTextPlugin('...') }

0
投票

这个问题可以用这段代码解决:

  if (!window.mapboxRTLTextPluginSet) {
    mapboxgl.setRTLTextPlugin('../../assets/mapbox/mapbox-gl-rtl-text.js');
    window.mapboxRTLTextPluginSet = true; }
© www.soinside.com 2019 - 2024. All rights reserved.