【问题标题】:Where to send a request , parent component or child component?在哪里发送请求,父组件或子组件?
【发布时间】:2019-09-04 12:41:20
【问题描述】:

一个页面拆分成多个组件后,每个组件的数据都是异步获取的,所以请求应该由父组件发起,然后传递给子组件,或者对应的请求直接发送给子组件。

【问题讨论】:

    标签: javascript reactjs vue.js


    【解决方案1】:

    这是一个非常主观的话题。有各种状态管理库,如 Redux,可以帮助解决这个问题。您甚至可以使用自己的个人偏好架构(例如 MVC / MVVM)来构建您的应用程序。如果您是初学者,那么我建议您先自己探索,这将使您了解所采用方法的优缺点。然后你可以继续使用 Redux / MobX 等工具。

    【讨论】:

    • 谢谢,我已经用过redux,所以传递数据的方式没有问题。但仍有一个关于在哪里发送请求的问题。我认为子组件的安装速度比父组件快,所以请求应该在子组件中发送。对吗?
    • 我通常做的是,我在视图之上创建一个控制器,它处理所有按钮点击和文本更改等。我将所有 API 调用保存在我的主模型/存储中并从控制器。所以基本上,它更干净了,因为现在我已经将我所有的 API 调用从视图中分离出来了。我的控制器顶部还有一个包含业务逻辑的 ViewModel。您将请求发送到何处并不重要。它对性能没有影响。影响性能的正是您管理状态和重新渲染的方式。
    【解决方案2】:

    您可以使用props 将数据传递给子组件。但是对于更大的应用程序,管理这将变得更加困难。所以,你需要使用ReduxMobX等状态管理库。

    【讨论】:

    • 谢谢,我已经用过redux,所以传数据的方式没有问题。但仍有一个关于在哪里发送请求的问题。我认为子组件的安装速度比父组件快,所以请求应该在子组件中发送。对吗?
    • 请求是指传递数据还是AJAX请求?
    • 一个ajax请求
    • 你可以有Actions调用API,然后将数据传递给reducer。
    猜你喜欢
    • 2019-11-16
    • 1970-01-01
    • 1970-01-01
    • 2019-08-15
    • 2017-09-13
    • 2021-03-17
    • 2020-09-28
    • 1970-01-01
    • 2022-01-22
    相关资源
    最近更新 更多