나는 사용자와 함께 체크리스트를 가지고 있으며 체크 박스를 클릭하면 사용자가 InputField에 추가하거나 InputField에서 삭제해야한다.배열에서 항목 삭제 (React-Native + Redux)
현재는 ADD로만 작동합니다.
import { handleActions } from 'redux-actions';
import * as types from '../actions/actionTypes';
export const initialState = {
members: '',
};
const addMembers = (members, id) => {
const res = members ? `${members},${id}` : `${id}`;
return res;
}
export default handleActions(
{
[types.ADD_GUEST]: (state, action) => ({
...state,
members: addMembers(state.members, action.payload),
}),
},
initialState
);
가 내 감속기를 변경하는 방법, 알려 주시기 바랍니다 :
import ...
export default class NewEvent extends React.Component {
constructor(props) {
super(props);
this.onSelect = this.onSelect.bind(this);
}
onSelect = id => {
addMembers(id) }
findSelectedContacts = (contacts, membersArray) => {
const newArr = [];
contacts.forEach(item => {
if(membersArray.indexOf(item.id.toString()) > -1) {
newArr.push(` ${item.name}`)
}
});
return newArr;
}
render() {
const { navigation, members, location, contacts } = this.props;
const membersArray = members ? members.split(',') : [];
const selectedArray = this.findSelectedContacts(contacts, membersArray)
const inputFill = selectedArray.join().trim();
return (
<InputField
customStyle={[eventStyles.input]}
icon="addGuest"
placeholder="Add guests"
onGetText={texts => {
this.handlerChangeText(texts)
}}
value={inputFill}
/>
);
}
}
또한, I는 입력에 손님을 추가 감속기를 가지고? 하나를 클릭하면 InputFiled에서 사용자를 추가하거나 삭제해야합니다.
가, 내가 어딘가 소품처럼 removeMember을 통과하지 않습니다 필요 –
정확하지 않게을 당신이 작업을 파견 할 필요가 없습니다. '유형 .REMOVE_G를 입력하십시오. UEST'와'id'의 페이로드를 제거한 다음 감속기가 removeMember 메소드를 호출하는 것을 처리합니다. – jevakallio
나는 당신의 코드를 사용했기 때문에 물어 보았지만 그것을 제거하지는 않았다. –