Javascript - ключи объекта / значения - PullRequest
2 голосов
/ 14 января 2020

Я хочу знать, могу ли я установить одно и то же value для нескольких keys в следующем:

  1. Реагировать на состояние функционального компонента:
const [state, setState] = useState(
key1: 'same-value',
key2: 'same-value',
key3: 'same-value'
);
Состояние компонента класса реагирования:
state = {
 key1: 'same-value',
 key2: 'same-value',
 key3: 'same-value'
};
Javascript объект :
const state = {
 key1: 'same-value',
 key2: 'same-value',
 key3: 'same-value'
};

Я хочу знать, возможно ли что-то подобное:

const state = {
 state1, state2, state3: 'same-value';
};

1 Ответ

4 голосов
/ 14 января 2020

Я хочу знать, возможно ли что-то подобное

Нет в литерале объекта, нет. Вы можете сделать это после создания объекта:

const state = {};
state.key1 = state.key2 = state.key3 = 'same-value';

Или вы можете задать свойства доступа key2 и key3 для key1, то есть они будут отслеживать его значение (изменение key1, и вы видите изменения в key2 и key3), потому что, хотя их использование выглядит как простой доступ к свойству, на самом деле это вызов функции.

const state = {
    key1: 'some-value',
    get key2() { return this.key1; },
    get key3() { return this.key1; }
};
console.log(state.key1); // 'some-value'
console.log(state.key2); // 'some-value'
console.log(state.key3); // 'some-value'

Я не предполагаю этого, просто отмечая это возможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...