没有从外部渲染函数获取值

时间:2018-03-20 21:18:54

标签: reactjs

我是新手做出反应。请帮我。 我正在尝试获取渲染之外的数据值。

data.map(

       <button onClick = { () => { console.log (data)}}></button>
   )

我在这里获得数据的价值。但是

  handleClick = () => { 
       console.log (data)  ///  not getting the value
     }

  <button onClick = { this.handleClick}></button>

如果我尝试this.hadleClick,那么我没有得到任何价值。为什么感谢,

2 个答案:

答案 0 :(得分:0)

您应该将要打印的数据传递给下面的函数:

<button onClick = { () => this.handleClick(data) }></button>

(你的处理函数也应该接受它)

handleClick = (data) => console.log(data);

答案 1 :(得分:0)

这是因为您没有将值传递给handleClick函数。几个选项:

将函数与onClick中的参数绑定:

data.map(
    <button onClick = { this.handleClick.bind(this, data) }></button>
)

将匿名函数传递给您的点击处理程序:

data.map(
    <button onClick = { () => this.handleClick(data) }></button>
)

并且您需要更新handleClick函数以接受data作为参数:

handleClick = data => { 
    console.log(data);
}