Код компонента где хранятся все посты:
Неправда, посты вы храните не здесь, вы же vuex используете.
@click="addPostToHistoryComp(post.id, post.title, post.body)"
А если вы не через эту ссылку пост откроете? Добавление в историю должно выполняться из компонента поста. Да и не сработает этот обработчик клика - router-link событие клика не генерирует (можно подписаться на click.native).
paginatedData() {
const start = this.page * 6;
Что такое page? - не вижу в компоненте свойства с таким именем. В результате у вас start и end оказываются NaN, а массив постов текущей страницы, соответственно, пустой.
addPostToHistoryComp(val){
this.$store.dispatch('transforPostToHistoryComp', {
pTitle: val.post.title,
Что ещё за val.post? - вы же передаёте в метод отдельно id, title и body. Лучше передавайте объект поста целиком.
<li v-for="(historyPost, index) in historyPosts" class="post" :key="index">
<img src="src/assets/nature.jpg">
<p class="boldText"> {{ post.title }}</p>
Так как всё-таки правильно будет - historyPost или просто post?
const todohistory = {
title: payload.pTitle,
body: payload.pBody,
id: payload.pId
}
commit('ADD_TODO_HISTORY', todo)
Объявляете todohistory, а в мутацию передаёте какой-то непонятный todo. Это как?
ADD_TODO_HISTORY (state, todohistoryObject) {
state.historyPosts.unshift(todoObject)
},
Тоже непонятно: todoObject - что это, кто это, зачем это, откуда он взялся?
UPD.
Вот вам ваш код, приведённый в относительно рабочее состояние, думайте.