Javascript ReactJS:将状态/道具传递给可反应的表行
我正在使用Reactable库在React中显示数据表,我想在单击表中的一行时设置/更改父组件的状态Javascript ReactJS:将状态/道具传递给可反应的表行,javascript,reactjs,react-jsx,Javascript,Reactjs,React Jsx,我正在使用Reactable库在React中显示数据表,我想在单击表中的一行时设置/更改父组件的状态UsersTable,以记住单击记录的id,以便进一步操作。 不幸的是我做不成。我尝试将handleClick函数作为道具传递,但我总是得到一个Uncaught类型错误:并且handleClick未定义 var Table = Reactable.Table; var Tr = Reactable.Tr; var Td = Reactable.Td; var UsersTable = React
UsersTable
,以记住单击记录的id,以便进一步操作。
不幸的是我做不成。我尝试将handleClick
函数作为道具传递,但我总是得到一个Uncaught类型错误:
并且handleClick
未定义
var Table = Reactable.Table;
var Tr = Reactable.Tr;
var Td = Reactable.Td;
var UsersTable = React.createClass({
propTypes: {
users: React.PropTypes.array.isRequired,
},
handleClick: function(row) {
this.setState({userId: row.key})
},
getInitialState: function() {
return {
userId: null
};
},
render: function() {
return (
<div className="usersTable">
<div className="globalUserSearch">
<div className="globalUserSearchLabel">Selection:</div>
<div><input type="text" className="userSearchInput" placeholder="Global Search"></input></div>
</div>
<Table className="table" itemsPerPage={5} sortable={true} handleClick={this.handleClick}>
{this.props.users.map(function(row) {
return (
<Tr key={row.key} onClick={this.props.handleClick.bind(this, row)}>
<Td column="username">{row.personalInformation.username}</Td>
<Td column="firstname">{row.personalInformation.firstname}</Td>
<Td column="lastname">{row.personalInformation.lastname}</Td>
</Tr>
)
})}
</Table>
</div>
)},
});
var Table=reactible.Table;
var Tr=可反应的.Tr;
var Td=可反应的。Td;
var UsersTable=React.createClass({
道具类型:{
用户:React.PropTypes.array.isRequired,
},
handleClick:函数(行){
this.setState({userId:row.key})
},
getInitialState:函数(){
返回{
userId:null
};
},
render:function(){
返回(
选择:
{this.props.users.map(函数(行)){
返回(
{row.personalInformation.username}
{row.personalInformation.firstname}
{row.personalInformation.lastname}
)
})}
)},
});
如果我直接在所描述的
元素中定义函数
并将行记录到控制台。按
,一切正常。但正如我所说,我需要更新父组件的状态
任何建议都很好
Thx。您可以尝试使用fixeddatatable作为替代方案。使用onRowClick,您可以使用
_handleRowClick: function(event, index, row ){
},
在表中,在映射
回调中有onRowClick={this.\uu handleRowClick}1),this引用全局对象。见和。2) 任何实例化的UsersTable
是否向其传递handleClick
prop?您尚未在propTypes
中列出。或者您真的想引用组件自己的handleClick
方法吗?那就是this.handleClick
,而不是this.props.handleClick
。