Open Private-SO opened 6 years ago
Hi
Here is my code
import React, { Component } from 'react'; import tips from './tips'; import PivotTableUI from 'react-pivottable/PivotTableUI'; import 'react-pivottable/pivottable.css'; import TableRenderers from 'react-pivottable/TableRenderers'; import Plot from 'react-plotly.js'; import createPlotlyRenderers from 'react-pivottable/PlotlyRenderers'; const PlotlyRenderers = createPlotlyRenderers(Plot); function isDiff(a,b) { return JSON.stringify(a) !== JSON.stringify(b); } class App extends Component { state = { pivotState5: { data: [["Name", "CreationDate"]], rows: ['Name'], cols: ['Humanize'], aggregatorName: 'Count', rendererName: 'Grouped Column Chart' } }; handleClick = () => { this.setState( { pivotState5: { data: tips, rows: ['Payer Gender'], cols: ['Party Size'], aggregatorName: 'Count', rendererName: 'Grouped Column Chart' } } ); } componentDidMount() { let state = JSON.parse(localStorage.getItem('pivotState5')); this.setState(state); console.log(this.state); console.log("inside didmount"); } componentDidUpdate(prevProps, prevState) { if (isDiff(this.state, prevState)) { localStorage.setItem('pivotState5', JSON.stringify(this.state)); console.log(this.state); console.log("inside didupdate"); // localStorage.clear(); // console.log("localstorage cleared"); } } render() { //console.log(this.state) return ( <div styles="width=50px"> <PivotTableUI // data={this.state.pullResults.body || []} onChange={s => this.setState({pivotState5: s})} renderers={Object.assign({}, TableRenderers, PlotlyRenderers)} {...this.state.pivotState5} /> <button onClick={this.handleClick}>Get results</button> </div> ); } } export default App;
Here is my tips.js
export default [ ["Total Bill","Tip","Payer Gender","Payer Smoker","Day of Week","Meal","Party Size"], [16.99,1.01,"Athelete","Non-Smoker","Sunday","Dinner",2] ];
I am getting error like this
TypeError: this.props.aggregators[this.props.aggregatorName] is not a function
this.props.aggregators[this.props.aggregatorName] is not a function
And both the states like the state from the database is identical to the one that I had before reloading the app .
I already check this https://github.com/plotly/react-pivottable/issues/20 issue.
In that question he said he is saving the attributes
['data', 'rows', 'cols', 'aggregatorName', 'vals', 'rendererName', 'sorters', 'plotlyOptions']
I am too doing the same thing in the state. But getting the same error. Usually aggregators takes key which is aggregatorName that I am providing.
aggregators
aggregatorName
Any help is appreciated
Thanks
@Private-SO I know it's been a long. But have you managed to solve this? I am also facing this issue.
Hi
Here is my code
Here is my tips.js
I am getting error like this
TypeError:
this.props.aggregators[this.props.aggregatorName] is not a function
And both the states like the state from the database is identical to the one that I had before reloading the app .
I already check this https://github.com/plotly/react-pivottable/issues/20 issue.
In that question he said he is saving the attributes
['data', 'rows', 'cols', 'aggregatorName', 'vals', 'rendererName', 'sorters', 'plotlyOptions']
I am too doing the same thing in the state. But getting the same error. Usually
aggregators
takes key which isaggregatorName
that I am providing.Any help is appreciated
Thanks