Как я могу передать параметр в Reactjs - PullRequest
1 голос
/ 30 октября 2019

Как я могу передать this.state.posts.length элементам в React.js, чтобы я мог получить динамическое число вместо 1, найдите под моими переменными.

const notEnough = {
  Larga: {
    breakpoint: { max: 4000, min: 0 },
    items: 1
  }
};

У меня есть условие в отзывчивых реквизитах, если длина сообщений <5, мне нужно передать значение <code>this.state.posts.length элементам.

responsive={this.state.posts.length < 5 ? notEnough : responsive}

Ответы [ 2 ]

1 голос
/ 30 октября 2019

Прямо сейчас notEnough - это object, вы можете превратить его в function, который принимает parameters (posts.length) и возвращает object.

const notEnough = items =>({
  Larga: {
    breakpoint: { max: 4000, min: 0 },
    items
  })
};

responsive={this.state.posts.length < 5 ? notEnough(this.state.posts.length) : responsive}

Если notEnought объявлено внутри вашего компонента, вам на самом деле не нужно это делать

const notEnough = {
  Larga: {
    breakpoint: { max: 4000, min: 0 },
    items: this.state.posts.length
  }
};
0 голосов
/ 30 октября 2019

Мне кажется, что вы добавляете ненужный промежуточный шаг. Если вы хотите, чтобы две разные переменные зависели от одного и того же условия, вы можете просто вставить одно и то же условие в обоих местах, предполагая, что вы объявляете этот const где-то, что он будет реагировать на изменения состояния:

const notEnough = {
  Larga: {
    breakpoint: { max: 4000, min: 0 },
    items: this.state.posts.length < 5 ? this.state.posts.length : 1;
  }
};
...