问题描述
我尝试在 ReactNative 中配置 Fusionchart 的许可证,如此 URL https://www.npmjs.com/package/react-native-fusioncharts#license-configuration。
但是,它仍然显示不应该可见的水印。有什么我错过的吗?
import React,{ Component } from 'react';
import { AppRegistry,StyleSheet,Text,View,Platform } from 'react-native';
import ReactNativeFusionCharts from 'react-native-fusioncharts';
global.licenseConfig = {
key: "license-key",creditLabel: false // true/false to show/hide watermark respectively
};
export default class App extends Component {
constructor(props) {
super(props);
//STEP 2 - Chart Data
const chartData = [
{ label: 'Venezuela',value: '250' },{ label: 'Saudi',value: '260' },{ label: 'Canada',value: '180' },{ label: 'Iran',value: '140' },{ label: 'Russia',value: '115' },{ label: 'UAE',value: '100' },{ label: 'US',value: '30' },{ label: 'China',];
//STEP 3 - Chart Configurations
const chartConfig = {
type: 'column2d',width: 400,height: 400,dataFormat: 'json',dataSource: {
chart: {
caption: 'Countries With Most Oil Reserves [2017-18]',subCaption: 'In MMbbl = One Million barrels',xAxisName: 'Country',yAxisName: 'Reserves (MMbbl)',numberSuffix: 'K',theme: 'fusion',exportEnabled: 1,// to enable the export chart functionality
},data: chartData,},};
const events = {
// Add your events method here:
// Event name should be in small letters.
dataPlotClick: (ev,props) => {
console.log('dataPlotClick');
},dataLabelClick: (ev,props) => {
console.log('dataLabelClick');
},};
this.state = {
chartConfig,events
};
}
render() {
return (
<View style={styles.container}>
<Text style={styles.heading}>FusionCharts Integration with React Native</Text>
<View style={styles.chartContainer}>
<ReactNativeFusionCharts chartConfig={this.state.chartConfig} events={this.state.events} />
</View>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,paddingTop: 50,height: 500,backgroundColor: 'white'
},heading: {
fontSize: 20,textAlign: 'center',marginBottom: 10,chartContainer: {
borderColor: 'red',borderWidth: 1,});
// skip this line if using Create React Native App
AppRegistry.registerComponent('ReactNativeFusionCharts',() => App);
global.licenseConfig = {
key: "license-key",creditLabel: false // true/false to show/hide watermark respectively
};
解决方法
回答我自己的问题。希望这会对某人有所帮助。
问题是最新的 react-native-fusionchart 5.0.0 没有更新到 fusionchart 3.17.0。您可能需要手动将 fusionchart 内容复制到 react-native-fusionchart。
将 node_module/fusionchart
内容复制到 node_modules/react-native-fusioncharts/src/modules/fusionchart
文件夹并在脚本下方运行。
find fusioncharts -name "*.js" -exec sh -c 'mv "$0" "${0%.js}.fcscript"' {} \;
然后水印按预期消失。这些步骤是在 gulp 脚本中配置的,但不知何故似乎不起作用。
希望这个问题能尽快得到解决。