Доброго времени.
При нажатии на кнопку добавить элемент я получаю данные и передаю их в action
данные{
"id": "142",
"author": "46",
"name": "4646",
"imgUrl": "data:image/jpeg;base64,/
}
затем в другом компоненте через connect я подключаюсь к store и отрисовываю эти данные
render() {
return (
<div className='book-list clearfix'>
<h2>Здесь будет ваш список книг!</h2>
{this.props.book.map((el, index) =>
(el.name.length === 0 && el.author.length === 0) ? console.log(el) :
<div className="book-item" key={index} >
<div className="book-item__delete-btn" onClick={this.test}></div>
<div className="book-item__img">
<img src={el.imgUrl} alt=""/>
<div className="book-item__info">
<div>{el.author}</div>
<div>{el.name }</div>
</div>
</div>
</div>
)}
</div>
)
}
}
function mapStateToProps (state) {
return {
book: state
}
}
const mapDispatchToProps = (dispatch) => ({
deleteBook: (params) => dispatch(deleteBook(params))
})
export default connect(mapStateToProps,mapDispatchToProps)(BookList)
Подскажите пожалуйста для удаления данных из store стоит в data объекта кидать его id и затем отправлять его как стейт в редьюсер и затем уже используя фильтр чистить его?
reducerexport default function rootReducer(state = [], action) {
console.log(action);
switch (action.type) {
case 'BUTTON_CLICK':
return [
...state,
action.book
];
case "DELETE_BOOK":
console.log(state)
return state.filter(({ id }) => id !== action.book);
}
return state;
}