error too many re-renders. react limits the number of renders to prevent an infinite loop

Niishaw

It seems that calling the todoList which is mapped to state is causing the issue, but I don't know why...how do I get the array of todos in my state to display in the table without this error?

import React, { useState, useEffect } from 'react';
import { connect } from 'react-redux';
import { getTodos } from '../../actions/todo';

//Bootstrap Table
import BootstrapTable from 'react-bootstrap-table-next';
import paginationFactory from 'react-bootstrap-table2-paginator';
import * as ReactBootStrap from 'react-bootstrap';

const UserTable = ({ getTodos, todoList }) => {
  useEffect(() => {
    getTodos();
    // eslint-disable-next-line
  }, []);

  const [todos, setTodos] = useState([]);
  const [loading, setLoading] = useState(false);

  const columns = [
    { dataField: 'id', text: 'ID' },
    { dataField: 'userId', text: "User's ID" },
    { dataField: 'title', text: 'Title of Todo' },
    { dataField: 'completed', text: 'Is this done?' },
  ];

  setTodos(todoList);

  return (
    <BootstrapTable
      keyField='id'
      data={todos}
      columns={columns}
      pagination={paginationFactory()}
    />
  );
};

const mapStateToProps = (state) => ({
  todoList: state.todo.todoList,
});

export default connect(mapStateToProps, { getTodos })(UserTable);
kind user

Consider avoiding setting the state directly inside function body - it will cause an endless loop.

Anyways - why do you want to keep it inside state? I would suggest you to operate on the props.

return (
  <BootstrapTable
    keyField='id'
    data={todoList} // todos directly from props
    columns={columns}
    pagination={paginationFactory()}
  />
);

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

Error: Too many re-renders. React limits the number of renders to prevent an infinite loop React Native

react usestate Error: Too many re-renders. React limits the number of renders to prevent an infinite loop

React giving me Error: Too many re-renders. React limits the number of renders to prevent an infinite loop

React : Error: Too many re-renders. React limits the number of renders to prevent an infinite loop

received this error "Error: Too many re-renders. React limits the number of renders to prevent an infinite loop."

Uncaught Error: Too many re-renders. React limits the number of renders to prevent an infinite loop - ProtectedRoutes Component

Error: "Too many re-renders. React limits the number of renders to prevent an infinite loop"

Too many re-renders. React limits the number of renders to prevent an infinite loop. Next js error

"Error: Too many re-renders. React limits the number of renders to prevent an infinite loop."

useState and if statement causing Error: Too many re-renders. React limits the number of renders to prevent an infinite loop

Too many re-renders. React limits the number of renders to prevent an infinite loop-error

Error: Too many re-renders. React limits the number of renders to prevent an infinite loop when using useState()

Uncaught Error: Too many re-renders. React limits the number of renders to prevent an infinite loop

Error: Too many re-renders. React limits the number of renders to prevent an infinite loop [another variant]

Too many re-renders. React limits the number of renders to prevent an infinite loop. with for loop

Too many re-renders. React Limits the number of renders to prevent an infinite loop - React hooks

React Native issue - Too many re-renders. React limits the number of renders to prevent an infinite loop

React Js : Too many re-renders. React limits the number of renders to prevent an infinite loop

Too many re-renders. React limits the number of renders to prevent an infinite loop. - React Hooks

React redux Too many re-renders.React limits the number of renders to prevent an infinite loop

Too many re-renders. React limits the number of renders to prevent an infinite loop | React Native

React Native: Too many re-renders. React limits the number of renders to prevent an infinite loop

ReactJS, react-bootstrap, Modal Box: "Error: Too many re-renders. React limits the number of renders to prevent an infinite loop."

React: setting a state Hook causes error - Too many re-renders. React limits the number of renders to prevent an infinite loop

Uncaught Error: Too many re-renders. React limits the number of renders to prevent an infinite loop. (React-js)

Uncaught Invariant Violation: Too many re-renders. React limits the number of renders to prevent an infinite loop

Too many re-renders. React limits the number of renders to prevent an infinite loop

Too many re-renders. React limits the number of renders to prevent an infinite loop. useState problem?

Too many re-renders. React limits the number of renders to prevent an infinite loop - why?