setRTLTextPlugin 不能被多次调用 - reactjs

setRTLTextPlugin cannot be called multiple times - reactjs

我在 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.

解决方法:

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

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

    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
      )
    }