#redux #react-redux
#redux #реагировать-redux
Вопрос:
это мой код, могу ли я помочь с этим, как правильно написать функцию slice
export default function(state={inputs:[ ]}, action) {
console.log(action.index);
switch (action.type) {
case APPEND_INPUT:
return { ...state, inputs: state.inputs.concat({value:"",key:"1",type:'input'})};
case APPEND_TEXTAREA:
return { ...state, inputs: state.inputs.concat({value:"",key:"",type:'textarea'})};
case APPEND_EMAIL:
return { ...state, inputs: state.inputs.concat({value:"",key:"",type:'email'})};
case REMOVE_INPUT:
return {inputs: state.inputs.slice(0)};
default:
return state;
}
}
Ответ №1:
Или:
{inputs: state.inputs.filter((_, i) => i !== action.index))
Ответ №2:
Разрежьте массив по индексу и соедините его с фрагментом, начиная с индекса 1 и далее:
{
inputs: state.inputs.slice(0, action.index).concat(state.inputs.slice(action.index 1))
}
Если вы используете ES6, вы можете сделать это вместо concat:
{
inputs: [...state.inputs.slice(0, action.index), ...state.inputs.slice(action.index 1)]
}
Комментарии:
1. он не работает, когда он переходит в состояние по умолчанию, можете ли вы, пожалуйста, помочь мне с этим