react-redux RangeError: Maximum call stack size exceeded

Related searches

I receive this error when I fetched the data for my chart (react-chartjs-2). I implement try/catch block and don't know how to remove this error. On Edge browser I get CRIPT28: SCRIPT28: Out of stack space

Uncaught (in promise) RangeError: Maximum call stack size exceeded
    at trackProperties (trackForMutations.js:16)
    at trackProperties (trackForMutations.js:32)
    at trackProperties (trackForMutations.js:32)
    at trackProperties (trackForMutations.js:32)
    at trackProperties (trackForMutations.js:32)
    at trackProperties (trackForMutations.js:32)
    at trackProperties (trackForMutations.js:32)
    at trackProperties (trackForMutations.js:32)
    at trackProperties (trackForMutations.js:32)
    at trackProperties (trackForMutations.js:32)
Promise.catch (async)
(anonymous) @ ordersActions.js:44
(anonymous) @ index.js:9
(anonymous) @ index.js:43
(anonymous) @ index.js:55
(anonymous) @ bindActionCreators.js:5
loadDataForChart @ OrdersChart.js:96
boundFunc @ ReactErrorUtils.js:63
ReactErrorUtils.invokeGuardedCallback @ ReactErrorUtils.js:69
executeDispatch @ EventPluginUtils.js:83
executeDispatchesInOrder @ EventPluginUtils.js:106
executeDispatchesAndRelease @ EventPluginHub.js:41
executeDispatchesAndReleaseTopLevel @ EventPluginHub.js:52
forEachAccumulated @ forEachAccumulated.js:22
processEventQueue @ EventPluginHub.js:252
runEventQueueInBatch @ ReactEventEmitterMixin.js:15
handleTopLevel @ ReactEventEmitterMixin.js:25
handleTopLevelImpl @ ReactEventListener.js:70
perform @ Transaction.js:141
batchedUpdates @ ReactDefaultBatchingStrategy.js:60
batchedUpdates @ ReactUpdates.js:95
dispatchEvent @ ReactEventListener.js:145

Here's action I invoke in my component.

 export function getDataForChart(dtStart, dtEnd) {

      return function (dispatch) {
        let actionUrl = new Localization().getURL(baseUrl, 'GetDataForChart');
        dispatch({ type: types.CHARTSUMMARY });

        return, { dateStart: dtStart, dateEnd: dtEnd }, {
          headers: {
            'RequestVerificationToken': antiForgeryToken.value,
            'X-Requested-With': 'XMLHttpRequest'
        }).then((response) => {
          dispatch({ type: types.CHARTSUMMARY_LOADED, payload: })
        }).catch((error) => {
          dispatch({ type: types.CHARTSUMMARY_REJECTED, payload: error })


Here's my component which is connected to redux store. It;seems to me that everythings fine.

    export class OrdersChart extends Component {
        constructor(props) {
            this.state = {
                eStart: moment(),
                eEnd: moment(),
                chartData: {},
                chartLoaded: false,
                chartStart: false

            this.loadDataForChart = this.loadDataForChart.bind(this);

        componentWillReceiveProps(nextProps) {
            const { chartData, chartLoaded, chartStart } = nextProps;
            if(this.state.chartData != chartData) {
                this.setState({ chartData, chartLoaded, chartStart })
        loadDataForChart() {
            this.props.actions.getDataForChart(this.state.eStart, this.state.eEnd);

        render() {
            return (
               /* Date pickers ...*/
          <BtnReload onClick={this.loadDataForChart}></BtnReload>
                  <Line data={this.state.chartData} options={{ tooltips: { mode: 'x' } }} />       

    function mapStateToProps(state) {
        return {
            chartData: state.chart.ChartData,
            chartLoaded: state.chart.chartLoaded,
            chartStart: state.chart.fetching

    function mapDispatchToProps(dispatch) {
        return {
            actions: bindActionCreators(Object.assign({}, ordersActions), dispatch)
    export default connect(mapStateToProps, mapDispatchToProps)(OrdersChart)

the code that you paste here is incompetent but according to your error you are certainly causing a loop via your component so check wherever you are calling your methods repeatedly. in your code, I am suspicious you are changing your state and it used in your render method be aware of that whenever you change your state your component rendered

"Maximum call stack size exceeded" when using v7 with redux saga , react-dom.production.min.js:4408 RangeError: Maximum call stack size exceeded at Function.[Symbol.hasInstance] (<anonymous>) at� Dismiss Join GitHub today. GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.

It's a little late but it's likely due to circular references in your state. Check this issue out:

According to the package's author (in a conversation from the link above):

What's the shape of your state? It looks like there may be circular dependencies in your state, which is causing problems with the way we traverse it to track mutations.

In order to fix this error, you can either remove the circular references in your state or configure the invariant middleware to ignore that branch of your state as follows, using object path syntax:

invariant({ ignore: [''] })

(Maximum call stack size exceeded) when passing redux , Uncaught RangeError: Maximum call stack size exceeded at We "happen" to be using redux-form in the context of React code loaded into a� karma start --singleRun true 13 11 2016 09:33:49.434:INFO [compiler.karma-typescript]: Compiling project using Typescript 2.0.9 13 11 2016 09:33:53.742:INFO [compiler.karma-typescript]: Compiled 57 files in 3732 ms. 13 11 2016 09:33:57.330:ERROR [karma]: RangeError: Maximum call stack size exceeded at RegExp.exec (native) at RegExp.test (native

This is meant less as an answer, more as general help for this error.

I got this error by mishandling a Firebase response. I tried to merge it without transforming it. I'm using redux-actions to handle my state changes here. So I originally had:

[t.FIREBASE_SUCCESS]: (state, { payload }) => change(state, { $merge: payload }),

But what I needed was the extracted data object:

[t.FIREBASE_SUCCESS]: (state, { payload }) => change(state, { $merge: }),

The is the only change.

RangeError: Maximum call stack size exceeded � Issue #503 , davidkpiano / react-redux-form � Watch 37 � Star 2.1k RangeError: Maximum call stack size exceeded #503. Closed. torifat opened this able to send a PR too. I thought you could figure it out by watching the recursive call. Contact Information #3940 Sector 23, Gurgaon, Haryana (India) Pin :- 122015. -- New

RangeError: Maximum call stack size exceeded in Sagas recursion , RangeError: Maximum call stack size exceeded in Sagas recursion # other modules in use are: expressjs nextjs redux redux-sauce reactjs� Uncaught RangeError: Maximum call stack size exceeded. Faça uma pergunta Perguntada 5 anos, 1 mes atrás. Ativa 5 anos, 1 mes atrás. Vista 821 vezes 1. Uncaught

Uncaught RangeError: Maximum call stack size exceeded, import React, { Component } from "react"; import { reduxForm, Field } from gabrielecirulli changed the title "Maximum call stack size exceeded"� Maximum call stack size exceeded Aborting installation. x64 27626 verbose stack RangeError: Maximum call stack size exceeded 27626 verbose stack at RegExp.test

Hi Nipun, It was working fine from the 2017 version now the 2018 has few changes. The Animation runs on all browsers except Chrome because Chrome has a different stack limit and lowest compared to other browsers.

  • How are you fetching your data? Please add some code to work with
  • The error says: "Somewhere in your code, in the render or in a lifecycle method which updates the state, you use setState method or dispatch an action which updates your global state. This is why your component renders itself in a loop.
  • Can you comment out componentWillRecieveProps method?
  • When I comment componentWillReceiveProps the error does not show up.
  • I console.log() some string to see how many times componentWillReceiveProps was invoked. It prints console.log statement tree times.
  • componentWillReceiveProps(nextProps) { console.log('componentWillReceiveProps') const { chartData, chartLoaded, chartStart } = nextProps; if (!_.isEqual(nextProps.chartData, this.state.chartData) && chartLoaded) { console.log('setState') this.setState({ chartData }) } } Above code prints 'setState' once so I think too many state updates is not the issue.
  • redux-immutable-state-invariant library can cause the problem. I remove this middleware and error's gone.
  • I think this article can be helpful.
  • Bonger, can you add some information about the solution mentioned in the linked page so this answer can be a standalone answer even if the link would be not accessible later.