繁体   English   中英

ReactNative Fusioncharts 事件未在 iOS 中触发

[英]ReactNative Fusioncharts event not firing in iOS

我正在研究与 Fusioncharts 事件相关的功能,该功能无法按预期工作,但图表绘制和其他功能按预期工作。 我在谷歌上找到了下面的 PR。 https://github.com/fusioncharts/react-native-fusioncharts/issues/48但这对我不起作用。

以下是我的版本和代码:

"fusioncharts": "3.15.3",
"react-native-fusioncharts": "4.1.2",
"react-native-fs": "2.14.1",
"react-native-webview": "11.0.0"
    <ReactNativeFusionCharts
        ref={(ref) => {
            this.refChart = ref;
        }}
        dataEmptyMessage=""
        {...fcProps}
        type={chartType}
        width={this.width}
        height={this.height}
        dataFormat="json"
        dataSource={{ ...dataSource, chart: chartData }}
        libraryPath={this.libraryPath}
        onInitialized={(chartApi) => {
            console.log(
                'onInitialized - API: ',
                this.constructor.name,
                this.state.fullscreenMode,
                chartApi
            );
        if (!this.state.fullscreenMode) {
                this._chartApi = chartApi;
            }
        }}
        events={{
            beforeInitialize: () => {
                this.forceHideLoader();
            },
            initialized: () => {
                console.log('initialized');
            },

            noDataToDisplay: () => {
                console.log('noDataToDisplay');
            },

            dataLoadRequestCompleted: () => {
                console.log('lrc');
            },
            dataLoadError: () => {
                console.log('le');
            },
            dataLoadCancelled: () => {
                console.log('lc');
            },
            beforedataload: () => {
                console.log('bdl');
            },
            beforeDataUpdate: () => {
                console.log('bdu');
            },
            dataUpdated: () => {
                console.log('du');
            },
            realTimeUpdateComplete: () => {
                console.log('tuc');
            },
            chartCleared: () => {
                console.log('cc');
            },
            chartClick: () => {
                console.log('cclk');
            },
            dataplotclick: (e, a) => {
                Alert.alert(`You clicked on ${e.data.categoryLabel}`);
            }
        }}
    />

    {this.renderLoader()}
</React.Fragment>```

感谢fusionchart支持服务和@Zapdos13的指导,我能够解决这个问题。 希望这对愿意升级react-native-fusioncharts人有所帮助

您所要做的就是遵循本指南。 https://www.npmjs.com/package/react-native-fusioncharts

他们网站上的说明似乎没有更新。 所以要小心不要与旧版本的实现混淆。

无需运行fc-build-assets --fc-template./assets/fusioncharts-tpl.html --fc-library./assets/fusioncharts或修改react-native-fusion: "5.0.0"

一旦我用版本升级以下软件包,问题就解决了:

react-native-fusion: "5.0.0"

"fusioncharts": "^3.17.0"

"react-native-webview": "^11.4.4"

此外,需要安装"react-native-unimodules": "^0.13.3"并根据本指南https://docs.expo.io/bare/installing-unimodules/#installation进行配置(您可能需要运行配置后pod install并确保安装了必要的 unimodule 依赖项)

最后,添加更新你的metro.config.js如下:

const { getDefaultConfig } = require('metro-config');

module.exports = (async () => {
  const {
    resolver: { sourceExts, assetExts }
  } = await getDefaultConfig()
  return {
    transformer: {
      getTransformOptions: async () => ({
        transform: {
          experimentalImportSupport: false,
          inlineRequires: false
        }
      })
    },
    resolver: {
      sourceExts,
      assetExts: [...assetExts, 'fcscript']
    }
  }
})()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM