nickola105
@nickola105
начинающий

Почему реакт коммпонент не перерисовыается после запроса в componentDidMount?

Ребятушки, все доброго дня!

Подскажите как решить сей вопрос
Есть такой компонент
import React, { Component } from 'react';
import PropTypes from 'prop-types'
import connectWrapper from '../redux/utils/connect'
import { rootActions as actions } from '../redux/rootReducer'
import ReactTable from 'react-table'
import checkboxHOC from 'react-table/lib/hoc/selectTable'

const CheckboxTable = checkboxHOC(ReactTable);

class AdminView extends Component {
  static propTypes = {
    state: PropTypes.object.isRequired,
    actions: PropTypes.object.isRequired
  };

  constructor (props) {
    super(props);
    const { admins } = props.state.toJS().admins
    this.state = {
      adminList: admins
    }
  }

  componentDidMount () {
    const { actions } = this.props;
    actions.fetchAdmins()
  }

  componentWillReceiveProps (nextprops) {

  }
  render () {
    // const state = this.props.state.toJS();
    // const { admins } = state.admins
    const { adminList } = this.state
    console.log(adminList)
    return (
      <div>
        {adminList.errorMessage}
        {/* <ReactTable
          data={adminList}
          columns={[
            {
              Header: 'id',
              accessor: 'id'
            },
            {
              Header: 'Email',
              accessor: 'email'
            },
            {
              Header: 'Username',
              accessor: 'username'
            },
            {
              Header: 'Roles Titles',
              accessor: 'id'
            },
            {
              Header: 'Member for',
              accessor: 'id'
            },
            {
              Header: 'Last access',
              accessor: 'id'
            },
            {
              Header: 'Status',
              accessor: 'id'
            },
            {
              Header: 'Roles Titles',
              accessor: 'id'
            }
          ]}
          defaultPageSize={10}
          // className='-striped -highlight'
        /> */}
      </div>
    );
  }
}

export default connectWrapper(actions, AdminView);

в таблице данные не рендерятся, так как в стейте стоят первоначальные initialState(т.е. пустые)
в didmount делаю запрос за данными, они приходят, вижу их в devtools, но компонент не перерисовыается. Why?
  • Вопрос задан
  • 142 просмотра
Решения вопроса 1
RomReed
@RomReed
JavaScript, Flutter, ReactNative, Redux, Firebase

componentDidMount () {
const { actions } = this.props;
actions.fetchAdmins()
}

actions.fetchAdmins() вы понимаете что данная функция вызовется только 1 раз?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы