我是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
方法,以及如何通过sender
和media
。
答案 0 :(得分:0)
嗯,click
和submit
是不同的事件,因此如果您希望它们都被传递,您必须以不同的方式构建事物。
就调用postData
而言,看起来你必须
import { postData } from foo;
...位于MyComponent
文件的顶部,因此该功能可用。正确导入postData
后,您可以在事件处理函数中使用它。
我只是浏览了你的fetch
,但看起来应该没问题,或者至少很容易调试。
总结:修复它以便有一个事件处理程序,它将作为参数传递media
和sender
。然后,导入postData
并在处理程序中调用它。