Переместите параметр «состояние» после параметров без значения по умолчанию в Sonarqube

#javascript #reactjs #react-native #sonarqube

Вопрос:

Я получаю эту ошибку » Переместить параметр «состояние» после параметров без значения по умолчанию » в React native Sonarqube, пожалуйста, помогите мне устранить эту ошибку

 const initialState = {
  onVerify: null,
  showCaptcha: false,
};
export default function googleReCaptchaReducer(state = initialState, action){
}
 

введите описание изображения здесь

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

1. вы пробовали применить это предложение? export default function googleReCaptchaReducer(action, state = initialState){ }

2. @SakisTsalk да, я пытался, но библиотека ожидает состояние в качестве первого параметра

Ответ №1:

Я думаю, что Sonarqube хочет переключаться между параметрами состояния и действия, потому что с объявлением state = initialState это означает, что состояние является необязательным параметром.

В этом случае, я думаю, вам не нужно устанавливать initialState для параметра состояния. Если вы используете useReducer, я бы предложил следовать примеру useReducer reactjs.org

 const initialState = {count: 0};

function reducer(state, action) {
  switch (action.type) {
    case 'increment':
      return {count: state.count   1};
    case 'decrement':
      return {count: state.count - 1};
    default:
      throw new Error();
  }
}

function Counter() {
  const [state, dispatch] = useReducer(reducer, initialState);
  return (
    <>
      Count: {state.count}
      <button onClick={() => dispatch({type: 'decrement'})}>-</button>
      <button onClick={() => dispatch({type: 'increment'})}> </button>
    </>
  );
}