我想像自己一样绑定功能
这样我可以使用此setState更改状态
帮我解决这个
function(response){
this.function=this.function.bind(this)
console.log(response)
}
答案 0 :(得分:0)
尝试这个希望对您有用
axios.post(" http://${REACT_APP_SERVER_URL}/facebook", { uid: user }).then((response) => {
console.log('hello')
if (response.data.success) {
const { checked } = this.state;
const newChecked = [...checked];
newChecked.push(1)
this.setState({ checked: newChecked });
console.log(this.state.checked)
history.push("/dashboard");
}
}).catch(err=>{
console.log(err)
})
答案 1 :(得分:0)
在内部绑定函数是一件令人困惑的事情。您正在修改该函数,下次调用该函数可能不会达到预期的效果。您的问题是XY problem的经典示例。
您可能正在寻找的内容在https://reactjs.org/docs/faq-functions.html#how-do-i-bind-a-function-to-a-component-instance的React文档中进行了描述。
您有两种选择,可以致电bind
或使用arrow function
:
class MyComponent extends Component {
constructor() {
/* Bind the value of this */
this.myFunction = this.myFunction.bind(this);
}
render() {
<div>
{/* Or use an arrow function */}
<button onClick={() => this.myFunction()}>My button</button>
</div>
}
}
答案 2 :(得分:0)
尝试使用此方法绑定您的响应功能
function(response){
//this.function=this.function.bind(this)
console.log(response)
}.bind(this)