gpt4 book ai didi

javascript - React 组件中未捕获的类型错误

转载 作者:行者123 更新时间:2023-11-28 13:14:39 26 4
gpt4 key购买 nike

我创建了这个包含 React 组件的小而简单的脚本:

var React = require('react');


var UsersList = React.createClass({

handleRedirection: function(userName){
window.location = '/user/'+userName;
},
render: function(){
return(
<table>
<tbody>
<tr>
<th>Name</th>
<th>Surname</th>
<th>Day of Birth</th>
<th>Username</th>
<th>Role</th>
<th></th>
</tr>
{this.props.content.map(function(user, i) {
return (
<tr key={i}>
<td>{user.name}</td>
<td>{user.surname}</td>
<td>{user.birthday}</td>
<td>{user.userName}</td>
<td>{user.userRole}</td>
<td><button onClick={this.handleRedirection(user.userName)}>Open</button></td>
</tr>
);
})}
</tbody>
</table>
)
}
})


module.exports = UsersList;

编译时,我在浏览器中收到以下错误:

Uncaught TypeError: this.handleRedirection is not a function

我相信函数调用方式看起来一切都是正确的,问题可能出在哪里?

最佳答案

您需要将this绑定(bind)到函数:

{this.props.content.map(function(user, i) {
return (
<tr key={i}>
<td>{user.name}</td>
<td>{user.surname}</td>
<td>{user.birthday}</td>
<td>{user.userName}</td>
<td>{user.userRole}</td>
<td><button onClick={this.handleRedirection.bind(null, user.userName)}>Open</button></td>
</tr>
);
}.bind(this))}

关于javascript - React 组件中未捕获的类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39618534/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com