在React

时间:2016-11-09 22:31:29

标签: javascript reactjs

我是javascript和React的新手,因此这个问题。 我需要从组件内部发布数据。 我使用fetch API进行POST。这是我的代码。

export function postData(url, sender, media){
  return fetch(url, { headers: { 'Accept': 'application/json', 'Content-Type': 'application/json'},
                      credentials: 'include',
                      method: 'POST',
                      body: JSON.stringify({sender: sender, media: media})
  })
    .then((response) => { return response.json() ;})
    .catch((error) =>{ console.log("Request failed: ", error) ;})

}

在我的组件中,我有两个方法可以获取我打算从子组件中的回调中发布的值。

class MyComponent extends React.Component{

..........
handleClick(sender){
    console.log(data);

  }

  handleSubmit(media){
    console.log(data);
  }
......
render(){
......
passing down handleSubmit and handleClick as props to child
    }
}

我在组件中如何以及在何处调用postData方法,以及如何通过sendermedia

1 个答案:

答案 0 :(得分:0)

嗯,clicksubmit是不同的事件,因此如果您希望它们都被传递,您必须以不同的方式构建事物。

就调用postData而言,看起来你必须

import { postData } from foo;

...位于MyComponent文件的顶部,因此该功能可用。正确导入postData后,您可以在事件处理函数中使用它。

我只是浏览了你的fetch,但看起来应该没问题,或者至少很容易调试。

总结:修复它以便有一个事件处理程序,它将作为参数传递mediasender。然后,导入postData并在处理程序中调用它。