Как отобразить данные в MaterialTable при использовании с redux? - PullRequest
1 голос
/ 06 января 2020

Я использую MaterialTable, который отлично показывает данные c, но когда я пытаюсь сделать данные динамическими c, которые поступают из хранилища redux, возникает ошибка. Поэтому я хочу отобразить пользовательские данные в таблице, которая enter image description here

В то время как код

      import React from 'react';
  import { Fragment, useEffect, useState, useSelector, useDispatch } from 'react-redux';
  import MaterialTable from 'material-table';

  export default function MaterialTableUser() {
    let user = useSelector(state => state.auth.user);
  console.log(user)
    const [state, setState] = React.useState({
      columns: [
        { title: 'Name', field: 'name' },
        { title: 'Email', field: 'email' }

      ],
      data: [
        { name: 'Mehmet', email: 'Baran' },

      ],
    });

    return (
      <MaterialTable
        title="Editable Example"
        columns={state.columns}
        data={state.data}
        editable={{
          onRowAdd: newData =>
            new Promise(resolve => {
              setTimeout(() => {
                resolve();
                setState(prevState => {
                  const data = [...prevState.data];
                  data.push(newData);
                  return { ...prevState, data };
                });
              }, 600);
            }),
          onRowUpdate: (newData, oldData) =>
            new Promise(resolve => {
              setTimeout(() => {
                resolve();
                if (oldData) {
                  setState(prevState => {
                    const data = [...prevState.data];
                    data[data.indexOf(oldData)] = newData;
                    return { ...prevState, data };
                  });
                }
              }, 600);
            }),
          onRowDelete: oldData =>
            new Promise(resolve => {
              setTimeout(() => {
                resolve();
                setState(prevState => {
                  const data = [...prevState.data];
                  data.splice(data.indexOf(oldData), 1);
                  return { ...prevState, data };
                });
              }, 600);
            }),
        }}
      />
    );
  }

Для того, чтобы сделать его динамическим c Я сделал это так data : user в приведенном выше коде, но это не могло работать, я также сделал это

data: [
    { name:(user && user[0].name), email: (user && user[0].email)},

  ]

, а также data:user, но ничего не работает.

Еще одна вещь redux dev tool также не работает с кодом MaterialTable почему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...