Вызов функции с ячейкой React-Table v7 - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь сгенерировать значение из функции в ячейке для отображения в таблице с помощью response-table v7. Но я все время получаю ошибку, которую не понимаю. Это ошибка:

Error: Cell(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.

Значение ячейки, которое я указываю, имеет следующий код столбца:

{
        Header: 'Runs',
        accessor: 'id',
        Cell : (e) => {axios.get(`http://localhost:8000/cluster/${e.value}/runs`)
        .then(res => { 
          return res.data['count']
        })},
        disableSortBy: true,
        Filter: SelectColumnFilter,
        filter: 'equals',
      }

Кажется, я не могу отследить то, что мне не хватает в моем коде или что я делаю не так. Буду признателен за помощь. Спасибо.

Ниже мой пример кода.

const ClustersApp = () => {
  const [completeness, setcompleteness] = useState([]);
  const [loading, setloading] = useState(false);


  const fetchData = async () => {
    try {
      const url = 'http://localhost:8000/clusters?format=json';
      const options = {
        method: 'GET',
        headers: {
          'Accept': 'application/json',
          'Content-Type': 'application/json;charset=UTF-8',
        },
      };
      const res = await fetch(url, options).then(response => {
        return response.json();
      });
      setcompleteness(res["results"]);
      setloading(true);
    } catch (e) {
      console.log(e)
    }
  }

  useEffect((props) => {
    fetchData();
  }, []);

  const columns = useMemo(
    () => [
      {
        Header: 'Task Name',
        accessor: 'name',
        disableSortBy: true,
        Filter: SelectColumnFilter,
        filter: 'equals',
      },
      {
        Header: 'Square',
        accessor: 'module.name'
      },
      {
        Header: 'Schedule',
        accessor: 'schedules'
      },
    // this column calls a value from another API
      {
        Header: 'Runs',
        accessor: 'id',
        Cell : (e) => {axios.get(`http://localhost/cluster/${e.value}/runs`).then(res => { 
          return res.data['count']
        })},
        disableSortBy: true,
        Filter: SelectColumnFilter,
        filter: 'equals',
      }
    ],
    []
  );

  return (
    <div className="completeness-table">
      {loading ? (
        <TableContainer columns={columns} data={completeness} />
      ) :
        (
          <ReactBootstrap.Spinner animation="border" />
        )}
    </div>
  );
}
export default ClustersApp;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...