Как вызвать функцию, возвращающее значение, является источником данных для таблицы материалов? - PullRequest
0 голосов
/ 18 июня 2020

Итак, у меня есть компонент таблицы материалов, который получает данные из функции, которая получает их с помощью фильтра из базы данных. Теперь проблема в том, что у меня есть реквизиты, которые должны повторно визуализировать эту таблицу, но этого не произойдет. Я не могу просто вызвать эту функцию при необходимости. Я пробовал использовать ссылки, но это не помогает или я просто не могу этого сделать. Код такой:

const ajax = (params) => {
    .
    .
    .
    return {
       data: result.data
    }
}

return (<>
    <MaterialTable data={ajax}>
</>
)

Ответы [ 2 ]

0 голосов
/ 25 июня 2020

Эта эталонная штука работает нормально:

import React from 'react'
const tableRef = React.createRef
const App = (props) => {
  tableRef?.current.onQueryChange()
  const ajax = (params) => {
    .
    .
    .
    return data
  }
  return (MaterialTable data={ajax} tableRef={tableRef}...)
}
0 голосов
/ 18 июня 2020

вы пытались передать ajax возвращаемое значение в состояние?

state = {
  data: [],
};
const ajax = async (params) => {
  const data = await fetch("endpoint")
    .then(res =>{this.setState({data: })})
    .catch(err => {
      //error handler
    });
}
render(){
  return(
    <MaterialTable data={this.state.data}/>
  )
}

дайте мне знать, как работает мой код. или попробуйте поделиться своим полным кодом здесь

...