#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>
</>
);
}