Доступ к вложенным объектам JavaScript с помощью строкового ключа

* в Regex означает:

Соответствует предыдущему элементу ноль или более раз.

so что вам нужно использовать \* или [*].

объясните:

\

После символа, который не распознан как экранированный символ в этой и других таблицах в этом разделе, соответствует этому символу. Например, \* совпадает с \x2A.

[ character_group ]

Соответствует любому одиночному символу в character_group.

385
задан Paul Roub 15 August 2017 в 16:57
поделиться

1 ответ

Реагируют пример - Используя lodash

, Это не может быть самым эффективным путем с точки зрения производительности, но если Ваше приложение будет некоторым монолитом, то это уж точно сэкономит Вам некоторое время. Особенно, когда Вы сильно связываете свой формат данных состояния к бэкенду API.

   import set from "lodash/set";  // More efficient import

    class UserProfile extends Component {

      constructor(props){
        super(props);

        this.state = {
          user: {
            account: {
              id: "",
              email: "",
              first_name: ""
            }
          }
        }
      }

       /**
       * Updates the state based on the form input
       * 
       * @param {FormUpdate} event 
       */
      userAccountFormHook(event) {
        // https://lodash.com/docs#get
        // https://lodash.com/docs#set
        const { name, value } = event.target;
        let current_state = this.state
        set(current_state, name, value)  // Magic happens here
        this.setState(current_state);
      }

    render() {
        return (
          <CustomFormInput
            label: "First Name"
            type: "text"
            placeholder: "First Name"
            name: "user.account.first_name"
            onChange: {this.userAccountFormHook}
            value: {this.state.user.account.first_name}

          />
      )
  }
}
0
ответ дан 22 November 2019 в 23:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: