Отправить объект как атрибуты для реагирования компонента - PullRequest
0 голосов
/ 13 марта 2020

У меня есть следующий объект

"RENDEROPTIONS":{
      "TYPE_NAME":{
         "single":true,
         "urlParams":{
            "ENTITYFIELD":"testt",
            "USERID":1
         },
         "labelClass":"control-label",
         "infiniteScrolling":true,
         "naDesc":"--Select--",
         "class":" entityParamsSelect",
         "value":"",
         "entityFieldRestrictions":false,
         "name":"eval_type_id",
         "validations":"required",
         "selectValues":"",
         "renderType":"select",
         "label":" Type",
         "keyField":"key",
         "selectDescriptions":"",
         "id":"eval_type_id",
         "descField":"value",
         "readOnly":false

}

, и я хочу отправить его в качестве атрибутов для моего реагирующего компонента. Я привязан к тому, чтобы сделать это следующим образом

<div>
                     <entity-render-field
                            <% _.each(renderOptions["TYPE_NAME"], function(value, key) { %>
                                <% if (typeof(value) !=="object") {%>
                                    <%= key%> = "<%=value%>"
                                <% } %>
                                <% if (typeof(value) ==="object") {%>
                                    <%= key%> = <%=JSON.parse(JSON.stringify(value))%>
                                <% } %>
                            <% });%>
                            >

                    </entity-render-field>
                </div>

, но в подпорках utlParams приходят как "[объект" или "" [объект "," объект] ", если я не использую JSON .parse (JSON .stringify (значение). Есть ли способ отправить объект как атрибуты реагировать компонент?

1 Ответ

0 голосов
/ 13 марта 2020

это просто:

const RENDEROPTIONS = {
      TYPE_NAME: {
        single: true,
        urlParams: {
            ENTITYFIELD: "testt",
            USERID: 1
        },
        labelClass: "control-label",
        infiniteScrolling: true,
        naDesc: "--Select--",
        class: " entityParamsSelect",
        value: "",
        entityFieldRestrictions: false,
        name: "eval_type_id",
        validations: "required",
        selectValues: "",
        renderType: "select",
        label: " Type",
        keyField: "key",
        selectDescriptions: "",
        id: "eval_type_id",
        descField: "value",
        readOnly: false
      }
    };

  const Child = ({ obj }) => {
    console.log(obj);

    return (
        <div>
            <h1>Child</h1>
        </div>
    );

  const App = () => {
    return (
      <div className="App">                      
        <Child obj={RENDEROPTIONS} />            
      </div>
    );
  };
  export default App;
...