FushionChart events
prop, кажется, не работает должным образом в react-native-fusioncharts
.Только первая клавиша в объекте события (пара-ключ-ключ) будет запускаться / испускаться.
В приведенном ниже примере будет регистрироваться console.log("bI");
, но не любое другое событие.Даже не onInitialized
, поскольку это зависит от события renderComplete
.
Но если мы закомментируем событие beforeInitialize
, следующее событие будет работать и так далее.Событие onInitialized
будет работать, только если мы не отправим events
реквизит или не передадим пустой объект.
Обновление
Происходит только в iOS и прекрасно работает в Android.
Сценарий 1
// myChart.js
...
import ReactNativeFusionCharts from "react-native-fusioncharts";
const _libraryPath = Platform.select({
android: { uri: "file:///android_asset/fusioncharts.html" },
ios: require("./../../../assets/fusioncharts.html")
});
export default class MyChart extends PureComponent {
refChart = null;
_chartApi = null;
render() {
return (
<ReactNativeFusionCharts
ref={(ref) => {
this.refChart = ref;
}}
.... // <-- Add necessary props
libraryPath={_libraryPath}
onInitialized={(chartApi) => {
console.log("onInitialized - API"); // <-- Not emitting
this._chartApi = chartApi;
}}
events={{
beforeInitialize: () => {
console.log("bI"); // <-- Will emit
},
initialized: () => {
console.log("i"); // <-- Not emitting
},
chartClick: () => {
console.log("cclk"); // <-- Not emitting
}
}}
/>
);
}
}
Сценарий 2
// myChart.js
...
render() {
return (
<ReactNativeFusionCharts
ref={(ref) => {
this.refChart = ref;
}}
.... // <-- Add necessary props
libraryPath={_libraryPath}
onInitialized={(chartApi) => {
console.log("onInitialized - API"); // <-- Not emitting
this._chartApi = chartApi;
}}
events={{
// beforeInitialize: () => {
// console.log("bI");
// },
// initialized: () => {
// console.log("i");
// },
chartClick: () => {
console.log("cclk"); // <-- Will emit
}
}}
/>
);
}
...
Версия:react-native
: 0,59,4react-native-webview
: 5.8.1fusioncharts
: 3,13,5react-native-fusioncharts
: 3.0.0