我想从服务器中的数据库中检索数据。
在文件A 中,我打电话给fetch(url)
,然后希望在文件B 中得到答复,这可能吗?
然后,当我使用 electronJS 时,可以通过使用ipcRenderer.on('channel', function);
轻松实现。
因此在文件A 中,我使用ipcRenderer.send('channel', someData);
提取数据,然后通过声明ipcRenderer.on('channel', function(result));
在文件B 中接收了数据。
现在我不使用electronJS,因为我计划构建一个Web应用程序,据我了解,我可以使用fetch(url)
从数据库中获取数据,但是问题是我不知道如何接收数据在其他文件中。
让我知道是否需要更多说明。
添加示例代码:
我从这里获得此示例代码:https://stackoverflow.com/a/48381103/9177853 类似的问题,但不完全相同。
在文件A 中:
export const getData = () => fetch("https://api.myjson.com/bins/mp441")
.then(response => response.json())
在文件B 中:
import { getData } from './path/to/getData.js';
const someFunc = () => {
getData().then(data => {
// set redux state
this.props.setReduxState(data);
})
}
但是文件B 不会自动监听传入的data
响应,因此将数据存储为redux状态,而无需显式调用someFunc();
。
我想要的只是通过单击按钮上的fetch(url)
单击文件A ,文件B 随时准备监听传入的响应,然后存储响应数据到redux存储。
答案 0 :(得分:0)
您想要的是可能的,这听起来像组件间的通信,请添加示例代码,希望您会有所帮助。您将组件A(文件A)写入到组件B(文件B)所依赖的state
中。
从示例代码进行更新。
如果您打算使用Redux:请查看redux action and reducer。它需要进行一些初始设置。
如果您的应用很小,我建议您看一下react hooks useReducer and useState.
如果您的应用相对较小,并且您不想传递专家意见,您也可以使用the context API进行反应。
最后,您可能根本不需要状态管理工具。我建议您创建一个根组件并将所有数据存储在其状态下,并让其子组件更新并使用该状态。通过阅读可以轻松实现。您可以check one my repo that does it here