私はユーザーとのチェックリストを持っています。チェックボックスをクリックすると、InputFieldに追加するか、InputFieldから削除する必要があります。Array(React-Native + Redux)から項目を削除
今のところADDのみ機能します。
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}
/>
);
}
}
また、私は入力にゲストを追加減速、持っている:
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
);
を、私は私の減速を変更する方法を、教えてください? 1つのチェックボックスをクリックすると、InputFiledからユーザーを追加または削除する必要があります。
が、私は、どこかに小道具のようremoveMemberを渡すことがありません必要 –
ない正確にあなたがして、アクションを派遣する必要があります。タイプ 'タイプ.REMOVE_G UEST'と 'id'のペイロードを取得し、次にreduceMemberメソッドの呼び出しを処理します。 – jevakallio
私はあなたのコードを使用し、メンバーを追加するだけだが削除しないので、私は尋ねた。 –