ReactNative Fusioncharts事件未在iOS中启动



我正在开发一个与Fusioncharts事件相关的功能,它没有按预期工作,但Chart绘图和其他功能按预期工作。我在谷歌上搜索时发现了下面的公关。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,并确保安装了必要的单模块依赖项(

最后,添加更新您的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']
}
}
})()

最新更新