Как я могу заказать компонент в React - PullRequest
0 голосов
/ 29 октября 2019

Я рендеринг компонента, который отображает массив, и я хочу, чтобы они были упорядочены по последней записи.

Я пытался сделать функцию вне рендеринга этого orderBy и включить его в компонент, ноон не монтируется правильно.

orderBy() {
        let data = this.state;
        data.data.sort((a, b) => {
return a.published_on - b.published_on
}).map((data) => {
return data;
})
    }

render() {
        const { loading, data } = this.state;

        return (
            <div className="list">
                <Table rowKey="ref" loading={loading} dataSource={data.data} size="large" />
            </div>
        );
    }

Я хочу, чтобы компонент Table был упорядочен при загрузке по data.data.published_on.

Как правильно сделать это в React?

1 Ответ

0 голосов
/ 29 октября 2019

1) Вы ничего не возвращаете из функции.

2) Поскольку вы используете компоненты класса, вам нужно вызывать его с помощью this.orderBy

3) Вместо этогочтобы захватить data из состояния, вместо этого передайте его в функцию:

orderBy(data) {
  return data.sort((a, b) => a.published_on - b.published_on);
}

render() {
  const { loading, data } = this.state;

  return (
    <div className="list">
      <Table rowKey="ref" loading={loading} dataSource={this.orderBy(data.data)} size="large" />
    </div>
  );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...