Я не знаю, почему вы пишете следующий код:
this.state.design = await this.state.contract.methods
ReactJS не имеет two-way-data-binding
, ReactJS не похоже на VueJS или Angular , для изменения состояния вы должны использовать this.setState
или useState
. this.state.design =
никогда не изменяет ничего из состояний.
Теперь к вашему вопросу. установите начальное состояние для результата, как показано ниже:
this.state = {
result: undefined,
};
Затем в JSX напишите его, как показано ниже:
const { result } = this.state;
<div>
{result && result.map((item, index) => (
<div key={item.uniqueThing}>{item.title}</div>
))}
</div>
На самом деле, вам не нужно index
, я просто хочу знать, что вы можете иметь это. даже вы можете написать это лучше:
const { result } = this.state;
<div>
{result && result.map(({ title, uniqueThing }) => (
<div key={uniqueThing}>{title}</div>
))}
</div>
Примечание: вам определенно следует передать key
первому элементу JSX возврата функции обратного вызова карты, и он должен быть уникальным, пожалуйста, не используйте index
он имеет плохую стоимость для ReactJS, чтобы справиться с этим, может иногда попадать в плохие ошибки.