javascript - 在 React 中发布数据

标签 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

最佳答案

嗯,clicksubmit 是单独的事件,因此如果您希望它们都通过,则必须以稍微不同的方式构建事物。

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

import { postData } from foo;

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

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

<小时/>

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

关于javascript - 在 React 中发布数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40517098/

相关文章:

javascript - 带有自定义库的 querySelectorAll

javascript - php 在弹出的 div 中发布内容

reactjs - 如果列表未超出页面,则在底部渲染 FlatList 页脚

javascript - Nextjs - Reactjs - 链接模式 - 不变违规 : React. Children.only 预计会收到单个 React 元素子元素

javascript - React + immutableJS 在旧浏览器中呈现一些奇怪的输出

javascript - 在 this.state 中使用嵌套对象的最佳方法是什么?

javascript - 运行以字符串形式保存在对象内的脚本

javascript - 为什么不从 onSubmit 发送 Google Analytics 事件?

javascript - 使用 Jquery 添加边距

javascript - useEffect inside material ui 选项卡隐藏第三个选项卡