0
Bunun için yeni gözlere ihtiyacım var. Reakt ve Redux'u yavaş yavaş öğrendiğim için tekrar bir barikata girdim.Tepki, Yeniden Yapıştır öğesinin silinmesi tüm öğelerin silinmesi
/actions/items.js
export const DELETE_ITEM = "DELETE_ITEM"
export function deleteItem(id) {
return {
type: DELETE_ITEM,
id
}
}
/components/Item.jsx
export default class Item extends React.Component {
renderDelete =() => {
return <button onClick={this.props.onDelete}>x</button>
};
renderItem =() => {
const onDelete = this.props.onDelete
return (
<div onClick={this.edit}>
<span>{this.props.text}</span> {onDelete ? this.renderDelete() : null}
</div>
)
}
/components/Items.jsx
export default class Items extends React.Component {
handleOnDelete = (id) => {
this.props.dispatch(actions.deleteItem(id))
}
render() {
const {items, onEdit, onDelete } = this.props
return (
<ul>{items.map(item =>
<li key={item.id}>
<Item
id={item.id}
text={item.text}
onEdit={this.handleOnEdit}
onDelete={this.handleOnDelete.bind(null, item.id)}
/>
</li>
)}</ul>
);
}
}
export default connect(
state => ({
items: state.items
})
)(Items)
/reducers/items.js
case types.DELETE_ITEM:
const filteredItems = state.filter((item) => {
item.id !== action.id
});
return filteredItems
değilim silmek için neden x
düğmesinin tıklandığına emin bir öğe hepsini siler.
Ah iyi bir noktaya. Böyle bir durumda önce bu tür vardı.DELETE_ITEM: dönüş state.filter ((madde) => item.id! == action.id); ama nedense değişiyor. Teşekkürler Aleksandr – Diego