Что означает перенос переменной в {} в функции-редукторе REACT NATIVE?

#react-native

#react-native

Вопрос:

Я новичок в React native и наткнулся на код для функции-редуктора, но меня смущает, почему «токен» заключен в квадратные скобки. Превращает ли это токен в динамическую вещь или что-то в этом роде?

Может кто-нибудь, пожалуйста, объяснить, почему это так? Большое вам спасибо!

 /** The reducer is in charge of updating the app state based on the dispatched action. **/
//Action Types
export const CREDENTIALED = 'auth/CREDENTIALED';
export const RESET_DATA = 'auth/RESET_DATA';

export const initialState = {
  isLoading: true,
  token: null,
};

//REDUCER
const authReducer = (state = initialState, action) => {
  switch (action.type) {
    case CREDENTIALED: {
      let {token} = action;

      return {...state, isLoading: true, token};
    }

    case RESET_DATA: {
      return {...state, ...initialState};
    }

    default:
      return state;
  }
};

export default authReducer;

  

Ответ №1:

Я ни в коем случае не эксперт по react native, но похоже, что токен просто деструктурируется из action. Примерно то же самое, что:

 const dict = {
  "alpha": 'a',
  "beta": 'b',
}

const {alpha} = dict

console.log(alpha) // you should expect "a" to be printed out
  

Комментарии:

1. Также: MDN при деструктурировании: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… (Кроме того, вау, это более мощно, чем я думал!)

2. Ах! Я вижу! Таким образом, это в основном захват «токена» из действия отправки :). Спасибо! По сути, это эквивалентно высказыванию «пусть токен = действие. токен «Я считаю