Redux как получить/передать action.payload.id при клике из другого компонента
Вот есть слайс
const checkboxAdversSlice = createSlice({
name: "checkbox",
initialState: {
mainCheckbox: false,
subCheckboxes: [],
allCheckboxes: false
},
reducers: {
toggleMainCheckbox(state, action) {
if (action.payload === true) {
if (state.allCheckboxes === false) {
state.subCheckboxes.push(action.payload.id);
}
state.mainCheckbox = true;
state.allCheckboxes = true;
}
else {
state.mainCheckbox = false;
state.allCheckboxes = false;
}
return state;
},
}
});
export default checkboxAdversSlice;
Он меняет значение true/false у mainCheckbox при нажатии на главный checkbox:
const getCheckboxesState = useSelector((state) => state.checkboxes)
const dispatch = useDispatch();
const handleMainCheckboxChange = (event) => {
dispatch(checkboxAction.toggleMainCheckbox(event.target.checked))
console.log(getCheckboxesState)
}
<label className="container_checkbox">
<input type="checkbox" className="advers__settings advers__settings_checkbox"
onChange={handleMainCheckboxChange}
/>
<span className="checkmark"></span>
</label>
А мне нужно при клике на главный чекбокс получить item.id чтобы записать его в массив и потом работать с ним.
<label className="container_checkbox">
<input key={item.id} type="checkbox" className="advers__settings advers__settings_checkbox"
onChange={(e) => dispatch(checkboxAction.toggleMainCheckbox(item.id))} />
<span className="checkmark"></span>
</label>