Reactjs 如何调用react中的道具箭头函数
我是一个初学者。 我有一个带有Reactjs 如何调用react中的道具箭头函数,reactjs,arrow-functions,Reactjs,Arrow Functions,我是一个初学者。 我有一个带有UpdateUsersprops函数的组件,它在主组件中调用: UpdateUsers = () => {...} render(){ return( <User UpdateUsers = {this.UpdateUsers} /> )} addUser = async () => { //do some other things await //code for adding user this.
UpdateUsers
props函数的组件,它在主组件中调用:
UpdateUsers = () => {...}
render(){
return(
<User UpdateUsers = {this.UpdateUsers} />
)}
addUser = async () => {
//do some other things
await //code for adding user
this.props.UpdateUsers();
}
render(){
return(
//do some other things
<Button onClick={this.addUser}>ADD<Button/>
)}
主要组成部分:
UpdateUsers = () => {...}
render(){
return(
<User UpdateUsers = {this.UpdateUsers} />
)}
addUser = async () => {
//do some other things
await //code for adding user
this.props.UpdateUsers();
}
render(){
return(
//do some other things
<Button onClick={this.addUser}>ADD<Button/>
)}
this.props.UpdateUsers()我在addUser
中调用的code>无效。如果我在按钮OnCkick
中调用它,它会工作。但是在ddUser
中调用它并不能正常工作
如何在addUser
函数中调用this.props.UpdateUsers
?我不确定问题出在哪里,因为我看不到主组件和用户组件的整个代码。如果你能多告诉我一些你的问题,那会很有帮助的
如果在您单击某个按钮后没有调用UpdateUsers
,下面的代码会解决它,但是如果调用了它并且没有达到您预期的效果,那么我需要更多地了解您的问题
class User extends Component {
addUser = () => {
this.props.addUser();
}
render() {
return (
<button onClick={this.addUser}>
Add user
</button>
);
}
}
class Main extends Component {
addUser = () => {
// do something here
}
render() {
return <User addUser={this.addUser} />;
}
}
类用户扩展组件{
addUser=()=>{
this.props.addUser();
}
render(){
返回(
添加用户
);
}
}
类主扩展组件{
addUser=()=>{
//在这里做点什么
}
render(){
返回;
}
}
我不确定问题出在哪里,因为我看不到主
和用户
组件的全部代码。如果你能多告诉我一些你的问题,那会很有帮助的
如果在您单击某个按钮后没有调用UpdateUsers
,下面的代码会解决它,但是如果调用了它并且没有达到您预期的效果,那么我需要更多地了解您的问题
class User extends Component {
addUser = () => {
this.props.addUser();
}
render() {
return (
<button onClick={this.addUser}>
Add user
</button>
);
}
}
class Main extends Component {
addUser = () => {
// do something here
}
render() {
return <User addUser={this.addUser} />;
}
}
类用户扩展组件{
addUser=()=>{
this.props.addUser();
}
render(){
返回(
添加用户
);
}
}
类主扩展组件{
addUser=()=>{
//在这里做点什么
}
render(){
返回;
}
}
看看这个解决方案;
https://stackoverflow.com/questions/63302124/call-a-method-passed-as-a-prop-in-react
当您将方法作为道具发送时,可以使用.bind;
https://stackoverflow.com/questions/63302124/call-a-method-passed-as-a-prop-in-react
当您将方法作为道具发送时,可以使用.bind。我意识到有些函数需要时间才能运行
在这种情况下,在UpdateUsers
之前添加用户是一项耗时的功能。UpdateUsers
无法在列表中显示新用户(我添加的),并显示在添加另一个用户后,这是时间问题
我们可以通过如下定义async
函数来解决此问题:
在用户组件中:
UpdateUsers = () => {...}
render(){
return(
<User UpdateUsers = {this.UpdateUsers} />
)}
addUser = async () => {
//do some other things
await //code for adding user
this.props.UpdateUsers();
}
render(){
return(
//do some other things
<Button onClick={this.addUser}>ADD<Button/>
)}
addUser=async()=>{
//做一些其他的事情
等待//用于添加用户的代码
this.props.UpdateUsers();
}
render(){
返回(
//做一些其他的事情
添加
)}
我意识到有些函数需要时间运行
在这种情况下,在UpdateUsers
之前添加用户是一项耗时的功能。UpdateUsers
无法在列表中显示新用户(我添加的),并显示在添加另一个用户后,这是时间问题
我们可以通过如下定义async
函数来解决此问题:
在用户组件中:
UpdateUsers = () => {...}
render(){
return(
<User UpdateUsers = {this.UpdateUsers} />
)}
addUser = async () => {
//do some other things
await //code for adding user
this.props.UpdateUsers();
}
render(){
return(
//do some other things
<Button onClick={this.addUser}>ADD<Button/>
)}
addUser=async()=>{
//做一些其他的事情
等待//用于添加用户的代码
this.props.UpdateUsers();
}
render(){
返回(
//做一些其他的事情
添加
)}
您当前的代码有什么问题吗?this.props.UpdateUsers()我在addUser
中调用的code>不起作用。如果我在按钮OnCkick
中调用它,它会工作。但是在addUser
中调用它并不能正确地工作您是否调用了super(props)代码>在用户组件的构造函数中?请共享整个用户组件代码以及错误(如果存在)您所说的“无法正常工作”是什么意思?如果有错误,请分享准确的详细信息。您当前的代码有什么问题吗?this.props.UpdateUsers()我在addUser
中调用的code>不起作用。如果我在按钮OnCkick
中调用它,它会工作。但是在addUser
中调用它并不能正确地工作您是否调用了super(props)代码>在用户组件的构造函数中?请共享整个用户组件代码以及错误(如果存在)您所说的“无法正常工作”是什么意思?请分享准确的错误详细信息(如有)。