【发布时间】:2018-09-02 11:39:47
【问题描述】:
我试图将索引从一个元素传递到同级元素以在第二个元素中显示这一点。连续第二天在互联网上找不到解决方案。
到目前为止,我所做的只是在每个 div 中显示数据。我只想在点击的时候这样做。
class Result extends Component {
constructor(props) {
super(props)
this.state = {
showData: false
}
}
showData = (el, index) => {
this.setState({
showData: !this.state.showData
})
console.log(el, index)
}
render() {
const { dataFromSearchBar, inputValue } = this.props
const showData = this.state.showData
let apiData = dataFromSearchBar.filter(el => {
return el.launch_year === inputValue
}).map((el, index) => {
return (
<div className={css(styles.result__data)}
key={index}>
<h2 onClick={() => this.showData(el, index)}>{el.mission_name}</h2>
{showData &&
<li key={index}>{el.launch_date_utc}</li>
}
</div>
)
})
return (
<div className="result">
{apiData}
</div>
)
}
}
这是部署在 gh 页面上的应用:https://kamilstaszewski.github.io/spacex-api-app/
您可以在此处找到该应用的代码:https://github.com/KamilStaszewski/spacex-api-app/tree/master/src
提前致谢。
【问题讨论】:
-
你在使用 redux 吗?还是上下文 API?
-
我开始编程,它只是反应,我应该先学习redux吗?或者也许没有安装/学习新库的解决方案?
-
是的,你可以在不使用 redux 的情况下做任何事情
-
请注意,
<li>不是<div>的有效 html 子代 -
@charlietfl 你是对的
标签: javascript reactjs