如何访问地图功能状态并在外部功能中使用

时间:2019-06-07 19:43:54

标签: reactjs

我已经成功地使用.map函数来遍历axios GET请求数据并将其分配给我的map函数中的正确元素。但是,当我将删除功能与按钮onclick元素一起实现时,会收到未定义的'无法读取属性'_id'。

我的问题是,可以从我的外部删除功能访问单用户的地图功能状态,还是可以在我的地图功能中运行我的删除功能?

// Axios GET request to get the object data from users collection
        axios.get('http://localhost:3000/api/users')
         .then(response => {
           this.setState({ users: response.data });
         })
         .catch(function (error) {
           console.log(error);
         })

// Delete function referencing the ID of the user 
       delete() {
         axios.get('http://localhost:3000/api/users/delete/' + this.state.singleuser._id)
           .then(
              console.log(this.singleuser._id)
           )
           .catch(err => console.log(err))
        }

// Mapping out the state of singleuser from the GET request above          

 {this.state.users.map(function (singleuser, i) {
              const shouldHide = user.group.toString() === singleuser.group.toString()
                 return shouldHide
                    ? null
                    : <tr key={i} style={{ color: '#fff' }}>
                        <td>{singleuser.name}</td>
                        <td>{singleuser.email}</td>
                        <td style={{ display: 'none' }} selected={shouldHide}>{singleuser.group}</td>
                        <td><button onClick={this.delete} className="waves-effect waves-light btn-small red">Edit</button></td>
                      </tr>
             }.bind(this))
            }

1 个答案:

答案 0 :(得分:1)

您必须使用箭头功能,因为它们没有本地状态 例如

join