Обновление вложенного состояния в React - PullRequest
0 голосов
/ 09 апреля 2020

Итак, у меня есть компонент Form, где я обрабатываю все входы из формы в состоянии. Я использую эту форму в других компонентах для создания и обновления объектов того же типа. Проблема в том, что в Обновлении я не хочу устанавливать значения входов внутри состояния. Каков наилучший способ сделать это? Так есть ли способ отредактировать значение каждого Входа от объекта, который я получаю от реквизита? Кроме того, где это лучшее место для этого (componentDidMount)?

state = {
    orderForm: {
      name: {
        elementType: "input",
        elementConfig: {
          type: "text",
          placeholder: "Plot Name",
        },
        label: "Plot Name",
        value: "",
        validation: {
          required: true,
        },
        valid: false,
        touched: false,
      },
      area: {
        elementType: "number",
        elementConfig: {
          type: "number",
          placeholder: "Area",
        },
        label: "Area",
        value: "",
        metric: "m²",
        validation: {
          required: true,
          isNumeric: true,
        },
        valid: true,
        touched: false,
      },
      cropGroupName: {
        elementType: "input",
        elementConfig: {
          type: "text",
          placeholder: "Groups Name",
        },
        label: "Groups Name",
        value: "",
        validation: {
          required: true,
        },
        valid: true,
        touched: false,
      },
      cropName: {
        elementType: "input",
        elementConfig: {
          type: "text",
          placeholder: "Crop Name",
        },
        label: "Crop Name",
        value: "",
        validation: {
          required: true,
        },
        valid: true,
        touched: false,
      },
      comments: {
        elementType: "textarea",
        elementConfig: {
          type: "text",
          placeholder: "",
        },
        label: "Comments",
        value: "",
        validation: {
          required: false,
        },
        valid: true,
        touched: false,
      },
    },
    formIsValid: false,
  };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...