javascript - 如何将数组的索引传递到reactJs onClick 中?

标签 javascript reactjs ecmascript-6 jsx

const Test = ({ inventory }) =>
<div className="row">
    {inventory.map((item, i) =>
        <div className="item" key={"item_" + i}>
            <div className="card hoverable col s3">
                <img onClick={buyItem(i)} src={item.img} alt="" />
                <div className="container center-align">
                    <h4 className="">
                        {item.name}
                    </h4>
                    <p>
                        Price: {item.price}
                    </p>
                    <p>
                        Average price paid: {item.averageDisplay}
                    </p>
                    <p>
                        Amount owned: {item.owned}
                    </p>
                    <button
                        className="btn"
                        data={item.index}
                        onClick={sellItem(i)}
                        name="button"
                    >
                        Sell
                    </button>
                </div>
            </div>
        </div>
    )}
</div>;

ReactDOM.render(<Test inventory{inventory}/>, 
document.getElementById("container")
);

inventory 是一个对象数组,我已经成功地能够在这个示例中循环,但由于某种原因,我无法弄清楚如何将 i 的值传递到函数中,尽管它已经被用来生成唯一的 key 。

最佳答案

您需要创建一个新函数

onClick={() => sellItem(i)}

关于javascript - 如何将数组的索引传递到reactJs onClick 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45418554/

相关文章:

javascript - React js 对象作为 React 子对象无效

javascript - redux-form mapStateToProps TypeError : Cannot read property 'values' of undefined even though i can console. 记录状态对象并查看值

javascript - 如何使 ES6 类最终(不可子类化)

javascript - 扩展 ES6 Promise 以将回调转换为延迟模式

javascript - 调用javascript时如何获取原始引荐来源网址?

javascript - Node js 嵌套 Promise.all 错误

reactjs - React Redux Store 更新,但组件未重新渲染

javascript - 如何判断隐藏字段何时更改

javascript - 来自同一类动态列表的函数

javascript - es6 中对象的解构键、值和索引