testLifecycle.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. export function componentDidMount() {
  2. didMountSwitchLatLng(this, false)
  3. }
  4. export function didMountSwitchLatLng(self, switchLatLng=false) {
  5. self.createRandomMarkers(switchLatLng);
  6. self.setState({startTime: performance.now()});
  7. // move the markers
  8. if(self.state.moveMarkers){
  9. self.timer = setInterval(() => {
  10. self.setState({currStep: self.state.currStep + 1});
  11. self.calcMarkerPosition()
  12. }, self.state.interval);
  13. }
  14. // generate some test time data
  15. else if(self.state.generateTimeData){
  16. // let noOfMarkers = [1,5,10,20,30,40,50,75,100,150,200];
  17. // let interval = 1000;
  18. // let noOfMarkers = [300,400,500,1000,2000,3000,4000];
  19. // let interval = 5000;
  20. // let noOfMarkers = [5000,6000,7000,8000,9000,10000]
  21. // let interval = 10000;
  22. // let noOfMarkers = [15000, 20000, 25000,30000, 35000, 40000];
  23. // let interval = 30000;
  24. let noOfMarkers = [1000, 100];
  25. let interval = 7000;
  26. let i = 0;
  27. self.timer = setInterval(() => {
  28. i = i % noOfMarkers.length
  29. self.setState(
  30. {noOfMarkers: noOfMarkers[i]},
  31. () => {
  32. i = i+1
  33. self.measurementsDiv.current.innerHTML = ""
  34. self.createRandomMarkers(switchLatLng)
  35. }
  36. )
  37. }, interval);
  38. }
  39. }
  40. export function componentDidUpdate() {
  41. if(this.state.currStep===this.state.noOfSteps){
  42. let endTime = performance.now();
  43. let duration = endTime - this.state.startTime
  44. let msg = "Duration " + duration.toFixed(3) + " for " + this.state.noOfSteps + " steps"
  45. console.log(msg)
  46. this.markerInfoDiv.current.innerHTML = msg
  47. this.setState({currStep: this.state.currStep + 1});
  48. }
  49. }
  50. export function componentWillUnmount() {
  51. clearInterval(this.timer);
  52. }