将React道具传递到axios.post中时如何绑定“ this”

时间:2018-12-11 07:56:46

标签: javascript reactjs this axios react-props

我正在使用react-paypal-express-checkout元素。有一种在成功付款时传递功能的方法。在这种方法中,我想创建一个axios.post,将数据传递到服务器。

数据处于父组件的状态,并按以下方式传递:

<Pay value={this.state.value} />

我在子元素(axios.post)中的<Pay />是:

export default class Pay extends React.Component {
  render() {
    const onSuccess = payment => {
      axios.post(
        "http://localhost:3000/updateValue", {this.props.value}
      );
    };
    return (
      <div>
        <PaypalExpressBtn
          onSuccess={onSuccess}  
        />
      </div>
    );
  }
}

this.props.value的错误是this是保留字。我假设this绑定不正确,但是我不知道该怎么做。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:2)

问题与函数绑定无关。 onSuccess是箭头,它不能也不应被绑定。 {this.props.value}是对象文字的语法不正确。

如果value包含应发布的数据,则应为:

  axios.post(
    "http://localhost:3000/updateValue", {data: this.props.value}
  );