gpt4 book ai didi

javascript - 无法使用 React 渲染 html div?

转载 作者:行者123 更新时间:2023-11-30 14:15:07 26 4
gpt4 key购买 nike

我正在尝试基于数组生成多个 div - 但我做不到。我点击了一个按钮,它应该通过映射返回 divs 但它返回了任何东西。

class History extends Component {
constructor(props) {
super(props);
this.state = {
info: ""
};
this.generateDivs = this.generateDivs.bind(this);
}

async getCurrentHistory(address) {
const info = await axios.get(`https://api3.tzscan.io/v2/bakings_history/${address}?number=10000`);
return info.data[2];
}

async getHistory() {
const info = await getCurrentHistory(
"tz1hAYfexyzPGG6RhZZMpDvAHifubsbb6kgn"
);
this.setState({ info });
}

generateDivs() {
const arr = this.state.info;
const listItems = arr.map((cycles) =>
<div class="box-1">
Cycle: {cycles.cycle}
Count: {cycles.count.count_all}
Rewards: {cycles.reward}
</div>
);
return (
<div class="flex-container">
{ listItems }
</div>
)
}

componentWillMount() {
this.getHistory();
}

render() {
return (
<div>
<button onClick={this.generateDivs}>make divs</button>
</div>
);
}

最佳答案

您实际上并没有通过调用 generateDivs 函数来渲染 div,它返回的 JSX 没有在任何地方使用。

要使其正常工作,您可以执行以下操作 -

render() {
return (
<div>
<button onClick={this.showDivs}>make divs</button>
{this.state.isDisplayed && this.generateDivs()}
</div>
);
}

其中 showDivs 是将状态属性 isDisplayed 切换为 true 的函数

重点是 generateDivs 函数中返回的 JSX 现在将在 render 函数中呈现出来。切换显示的方式有很多种,这只是一种直接的方式

关于javascript - 无法使用 React 渲染 html div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53712901/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com