使用Redux工具包的设计模式

发布于 2025-02-12 07:23:04 字数 18436 浏览 1 评论 0原文

我正在努力如何在项目中实现Redux工具包。我有一个获取设置对象的API。这些对象中的每一个都有很多属性。我最初的方法是使用RTK获取所有对象,但仅使用nameID props提供。然后,为单个完整的设置对象有一个单独的切片,该切片将存储所选设置的所有道具。这对我来说造成了很多问题,因为州没有适当加载。当前的工作流程如下。首先,加载所有设置。然后,通过下拉列表选择一个设置。然后调用RTK查询以获取设置的所有道具。然后,将所有道具加载到切片中。最后,将道具显示为组件。

您对如何以更简单和功能的方式实现此功能有任何建议吗?我已经考虑过直接加载所有道具,而不仅仅是ID和名称。或有两个RTK。一个带有所有设置,然后是单个设置的另一个缓存的RTK。要记住的一件事是,我打算在该单个选定的设置上执行不同的操作,例如更改名称,过滤器等。

这是我称为API的示例,以获取所有setup(只有nameid):

[
    {
        "date": "Sat, 02 Jul 2022 00:14:50 GMT",
        "default": true,
        "id": "62bf8dfab60731051bcf77dd",
        "name": "Default 0"
    },
    {
        "date": "Thu, 30 Jun 2022 22:05:59 GMT",
        "default": false,
        "id": "62be1e47d4c5f49eb95cd06d",
        "name": "Filter Setup"
    }
]

的示例

{
    "_id": {
        "$oid": "62be1e47d4c5f49eb95cd06d"
    },
    "name": "Filter Setup",
    "default": false,
    "filters": [
        {
            "id": {
                "$oid": "62bf8d03b60731051bcf77db"
            },
            "name": "RRR greater than 1"
        },
        {
            "id": {
                "$oid": "62bf8d09b60731051bcf77dc"
            },
            "name": "RRR greater than 1"
        }
    ],
    "state": {
        "schema": {
            "fields": [
                {
                    "name": "index",
                    "type": "integer"
                },
                {
                    "name": "#",
                    "type": "number"
                },
                {
                    "name": ".m_RRR",
                    "type": "number"
                },
                {
                    "name": ".r_Result",
                    "type": "number"
                },
                {
                    "name": ".r_Result 50% Candle SL",
                    "type": "number"
                },
                {
                    "name": ".m_Entry Candle",
                    "type": "string"
                },
                {
                    "name": ".m_Zone Touch #",
                    "type": "number"
                },
                {
                    "name": ".m_Zone Origin",
                    "type": "number"
                },
                {
                    "name": ".m_Re-entry @ Other Level",
                    "type": "string"
                },
                {
                    "name": ".m_Fast Into Profits",
                    "type": "string"
                },
                {
                    "name": ".m_Trade @ Range Over",
                    "type": "string"
                },
                {
                    "name": ".m_Checked",
                    "type": "string"
                },
                {
                    "name": ".p",
                    "type": "string"
                }
            ],
            "primaryKey": [
                "index"
            ],
            "pandas_version": "0.20.0"
        },
        "data": [
            {
                "index": 0,
                "#": 1.0,
                ".m_RRR": 3.37,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Hammer",
                ".m_Zone Touch #": 2.0,
                ".m_Zone Origin": 1.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 1,
                "#": 2.0,
                ".m_RRR": 2.43,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Hammer",
                ".m_Zone Touch #": 3.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 2,
                "#": 3.0,
                ".m_RRR": 2.29,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Engulfing",
                ".m_Zone Touch #": 3.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 3,
                "#": 4.0,
                ".m_RRR": 2.97,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Engulfing",
                ".m_Zone Touch #": 3.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 4,
                "#": 5.0,
                ".m_RRR": 3.48,
                ".r_Result": null,
                ".r_Result 50% Candle SL": null,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 4.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 5,
                "#": 6.0,
                ".m_RRR": 3.22,
                ".r_Result": 3.22,
                ".r_Result 50% Candle SL": 3.22,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 4.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "Yes",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 6,
                "#": 7.0,
                ".m_RRR": 1.98,
                ".r_Result": 0.0,
                ".r_Result 50% Candle SL": 0.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 5.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 7,
                "#": 8.0,
                ".m_RRR": 4.8,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 2.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 8,
                "#": 9.0,
                ".m_RRR": 4.59,
                ".r_Result": 4.59,
                ".r_Result 50% Candle SL": 4.59,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 3.0,
                ".m_Zone Origin": 2.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "Yes",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 9,
                "#": 10.0,
                ".m_RRR": 1.71,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 2.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 10,
                "#": 11.0,
                ".m_RRR": 2.77,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 2.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 11,
                "#": 12.0,
                ".m_RRR": 2.15,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Hammer",
                ".m_Zone Touch #": 3.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 12,
                "#": 13.0,
                ".m_RRR": 1.71,
                ".r_Result": 1.71,
                ".r_Result 50% Candle SL": 1.71,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 2.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "Yes",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 13,
                "#": 14.0,
                ".m_RRR": 6.0,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 4.0,
                ".m_Zone Origin": 1.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "Yes",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 14,
                "#": 15.0,
                ".m_RRR": 6.48,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 4.0,
                ".m_Zone Origin": 1.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "Yes",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 15,
                "#": 16.0,
                ".m_RRR": 5.07,
                ".r_Result": 4.67,
                ".r_Result 50% Candle SL": 4.67,
                ".m_Entry Candle": "Hammer",
                ".m_Zone Touch #": 2.0,
                ".m_Zone Origin": 1.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 16,
                "#": 17.0,
                ".m_RRR": 1.86,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 2.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 17,
                "#": 18.0,
                ".m_RRR": 3.87,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Hammer",
                ".m_Zone Touch #": 8.0,
                ".m_Zone Origin": 1.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 18,
                "#": 19.0,
                ".m_RRR": 1.97,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 3.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 19,
                "#": 20.0,
                ".m_RRR": 3.25,
                ".r_Result": 3.07,
                ".r_Result 50% Candle SL": 3.07,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 3.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "Yes",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 20,
                "#": 21.0,
                ".m_RRR": 4.15,
                ".r_Result": 0.0,
                ".r_Result 50% Candle SL": 0.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 3.0,
                ".m_Zone Origin": 2.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 21,
                "#": 22.0,
                ".m_RRR": 2.44,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 3.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 22,
                "#": 23.0,
                ".m_RRR": 3.9,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 4.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "Yes",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 23,
                "#": 24.0,
                ".m_RRR": 1.92,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 4.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 24,
                "#": 25.0,
                ".m_RRR": 2.66,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 4.0,
                ".m_Zone Origin": 1.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            }
        ]
    },
    "notes": "",
    "author": {
        "$oid": "6175d1ad7d0ea08fbd85cc2c"
    },
    "documentId": {
        "$oid": "62bdb1e4acbe566f0779271d"
    },
    "date_created": {
        "$date": 1656626759825
    },
    "options": [
        {
            "id": ".m_RRR",
            "name": "RRR",
            "type": "number"
        },
        {
            "id": ".m_Entry Candle",
            "name": "Entry Candle",
            "type": "string",
            "values": [
                "Hammer",
                "Engulfing",
                "Spinning"
            ]
        },
        {
            "id": ".m_Zone Touch #",
            "name": "Zone Touch #",
            "type": "number"
        },
        {
            "id": ".m_Zone Origin",
            "name": "Zone Origin",
            "type": "number"
        },
        {
            "id": ".m_Re-entry @ Other Level",
            "name": "Re-entry @ Other Level",
            "type": "string",
            "values": [
                "No"
            ]
        },
        {
            "id": ".m_Fast Into Profits",
            "name": "Fast Into Profits",
            "type": "string",
            "values": [
                "No",
                "Yes"
            ]
        },
        {
            "id": ".m_Trade @ Range Over",
            "name": "Trade @ Range Over",
            "type": "string",
            "values": [
                "No",
                "Yes"
            ]
        },
        {
            "id": ".m_Checked",
            "name": "Checked",
            "type": "string",
            "values": [
                "No"
            ]
        },
        {
            "id": ".p",
            "name": "",
            "type": "string",
            "values": [
                "AUDUSD"
            ]
        }
    ]
}

这是单个设置的所有道具 附加信息。

I am struggling on how to implement redux toolkit on my project. I have an API that fetches Setup objects. Each of these objects is quite big with a lot of properties. My initial approach was to use RTK to fetch all of the objects but only with the name and id props. Then, have a separate slice for a single full Setup object that will store all the props of the selected Setup. This is causing a lot of issues for me as state is not loaded appropriately. The current workflow looks as following. First, load all Setups. Then, through a dropdown select a single Setup. Then call an RTK query to fetch all the props of the Setup. Then, load all the props into the slice. And finally, display the props into a component.

Do you have any suggestions on how to implement this feature in a more simple and functional way? I have thought about loading all the props directly instead of just the id and name. Or have two RTKs. One with all the Setups and then another cached RTK for a single Setup. One thing to keep in mind is that I plan to then perform different operations on that single selected Setup such as changing the name, filters, etc.

This is a sample of the API I call to get all the Setup (only name and id):

[
    {
        "date": "Sat, 02 Jul 2022 00:14:50 GMT",
        "default": true,
        "id": "62bf8dfab60731051bcf77dd",
        "name": "Default 0"
    },
    {
        "date": "Thu, 30 Jun 2022 22:05:59 GMT",
        "default": false,
        "id": "62be1e47d4c5f49eb95cd06d",
        "name": "Filter Setup"
    }
]

This is a sample of all the props of a single Setup:

{
    "_id": {
        "$oid": "62be1e47d4c5f49eb95cd06d"
    },
    "name": "Filter Setup",
    "default": false,
    "filters": [
        {
            "id": {
                "$oid": "62bf8d03b60731051bcf77db"
            },
            "name": "RRR greater than 1"
        },
        {
            "id": {
                "$oid": "62bf8d09b60731051bcf77dc"
            },
            "name": "RRR greater than 1"
        }
    ],
    "state": {
        "schema": {
            "fields": [
                {
                    "name": "index",
                    "type": "integer"
                },
                {
                    "name": "#",
                    "type": "number"
                },
                {
                    "name": ".m_RRR",
                    "type": "number"
                },
                {
                    "name": ".r_Result",
                    "type": "number"
                },
                {
                    "name": ".r_Result 50% Candle SL",
                    "type": "number"
                },
                {
                    "name": ".m_Entry Candle",
                    "type": "string"
                },
                {
                    "name": ".m_Zone Touch #",
                    "type": "number"
                },
                {
                    "name": ".m_Zone Origin",
                    "type": "number"
                },
                {
                    "name": ".m_Re-entry @ Other Level",
                    "type": "string"
                },
                {
                    "name": ".m_Fast Into Profits",
                    "type": "string"
                },
                {
                    "name": ".m_Trade @ Range Over",
                    "type": "string"
                },
                {
                    "name": ".m_Checked",
                    "type": "string"
                },
                {
                    "name": ".p",
                    "type": "string"
                }
            ],
            "primaryKey": [
                "index"
            ],
            "pandas_version": "0.20.0"
        },
        "data": [
            {
                "index": 0,
                "#": 1.0,
                ".m_RRR": 3.37,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Hammer",
                ".m_Zone Touch #": 2.0,
                ".m_Zone Origin": 1.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 1,
                "#": 2.0,
                ".m_RRR": 2.43,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Hammer",
                ".m_Zone Touch #": 3.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 2,
                "#": 3.0,
                ".m_RRR": 2.29,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Engulfing",
                ".m_Zone Touch #": 3.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 3,
                "#": 4.0,
                ".m_RRR": 2.97,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Engulfing",
                ".m_Zone Touch #": 3.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 4,
                "#": 5.0,
                ".m_RRR": 3.48,
                ".r_Result": null,
                ".r_Result 50% Candle SL": null,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 4.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 5,
                "#": 6.0,
                ".m_RRR": 3.22,
                ".r_Result": 3.22,
                ".r_Result 50% Candle SL": 3.22,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 4.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "Yes",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 6,
                "#": 7.0,
                ".m_RRR": 1.98,
                ".r_Result": 0.0,
                ".r_Result 50% Candle SL": 0.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 5.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 7,
                "#": 8.0,
                ".m_RRR": 4.8,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 2.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 8,
                "#": 9.0,
                ".m_RRR": 4.59,
                ".r_Result": 4.59,
                ".r_Result 50% Candle SL": 4.59,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 3.0,
                ".m_Zone Origin": 2.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "Yes",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 9,
                "#": 10.0,
                ".m_RRR": 1.71,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 2.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 10,
                "#": 11.0,
                ".m_RRR": 2.77,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 2.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 11,
                "#": 12.0,
                ".m_RRR": 2.15,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Hammer",
                ".m_Zone Touch #": 3.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 12,
                "#": 13.0,
                ".m_RRR": 1.71,
                ".r_Result": 1.71,
                ".r_Result 50% Candle SL": 1.71,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 2.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "Yes",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 13,
                "#": 14.0,
                ".m_RRR": 6.0,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 4.0,
                ".m_Zone Origin": 1.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "Yes",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 14,
                "#": 15.0,
                ".m_RRR": 6.48,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 4.0,
                ".m_Zone Origin": 1.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "Yes",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 15,
                "#": 16.0,
                ".m_RRR": 5.07,
                ".r_Result": 4.67,
                ".r_Result 50% Candle SL": 4.67,
                ".m_Entry Candle": "Hammer",
                ".m_Zone Touch #": 2.0,
                ".m_Zone Origin": 1.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 16,
                "#": 17.0,
                ".m_RRR": 1.86,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 2.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 17,
                "#": 18.0,
                ".m_RRR": 3.87,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Hammer",
                ".m_Zone Touch #": 8.0,
                ".m_Zone Origin": 1.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 18,
                "#": 19.0,
                ".m_RRR": 1.97,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 3.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 19,
                "#": 20.0,
                ".m_RRR": 3.25,
                ".r_Result": 3.07,
                ".r_Result 50% Candle SL": 3.07,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 3.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "Yes",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 20,
                "#": 21.0,
                ".m_RRR": 4.15,
                ".r_Result": 0.0,
                ".r_Result 50% Candle SL": 0.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 3.0,
                ".m_Zone Origin": 2.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 21,
                "#": 22.0,
                ".m_RRR": 2.44,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 3.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 22,
                "#": 23.0,
                ".m_RRR": 3.9,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 4.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "Yes",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 23,
                "#": 24.0,
                ".m_RRR": 1.92,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 4.0,
                ".m_Zone Origin": 0.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            },
            {
                "index": 24,
                "#": 25.0,
                ".m_RRR": 2.66,
                ".r_Result": -1.0,
                ".r_Result 50% Candle SL": -1.0,
                ".m_Entry Candle": "Spinning",
                ".m_Zone Touch #": 4.0,
                ".m_Zone Origin": 1.0,
                ".m_Re-entry @ Other Level": "No",
                ".m_Fast Into Profits": "No",
                ".m_Trade @ Range Over": "No",
                ".m_Checked": "No",
                ".p": "AUDUSD"
            }
        ]
    },
    "notes": "",
    "author": {
        "$oid": "6175d1ad7d0ea08fbd85cc2c"
    },
    "documentId": {
        "$oid": "62bdb1e4acbe566f0779271d"
    },
    "date_created": {
        "$date": 1656626759825
    },
    "options": [
        {
            "id": ".m_RRR",
            "name": "RRR",
            "type": "number"
        },
        {
            "id": ".m_Entry Candle",
            "name": "Entry Candle",
            "type": "string",
            "values": [
                "Hammer",
                "Engulfing",
                "Spinning"
            ]
        },
        {
            "id": ".m_Zone Touch #",
            "name": "Zone Touch #",
            "type": "number"
        },
        {
            "id": ".m_Zone Origin",
            "name": "Zone Origin",
            "type": "number"
        },
        {
            "id": ".m_Re-entry @ Other Level",
            "name": "Re-entry @ Other Level",
            "type": "string",
            "values": [
                "No"
            ]
        },
        {
            "id": ".m_Fast Into Profits",
            "name": "Fast Into Profits",
            "type": "string",
            "values": [
                "No",
                "Yes"
            ]
        },
        {
            "id": ".m_Trade @ Range Over",
            "name": "Trade @ Range Over",
            "type": "string",
            "values": [
                "No",
                "Yes"
            ]
        },
        {
            "id": ".m_Checked",
            "name": "Checked",
            "type": "string",
            "values": [
                "No"
            ]
        },
        {
            "id": ".p",
            "name": "",
            "type": "string",
            "values": [
                "AUDUSD"
            ]
        }
    ]
}

Please let me know if you need any additional information.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

简单爱 2025-02-19 07:23:04

像Apollo GraphGl之类的东西可能对您有用。 GraphQl查询可以以所需的确切形状/架构的形式吸入对象,因此它更有条理。否则,您可能需要制作某种解析实用程序功能,以将响应对象清除为新型的对象。

Something like Apollo GraphGL might be useful for you. A GraphQL query could pull in the objects in the exact shape/schema you want, so it's more organized for you. Otherwise, you might want to make some kind of parsing utility function to clean up the response object into a new type of object.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文