Не удалось выполнить pushState для History: функция addComment () ... не может быть клонирована - PullRequest
0 голосов
/ 12 октября 2018

Я пытался сделать свое первое приложение в React, и я думаю, что допустил серьезную ошибку в потоке приложения, однако попытка сохранить его не делает его лучше.

Я получилмой App.ksin, который у меня есть

<LatestRecipes latestRecipes={this.state.latestRecipes} allRecipes={this.state.recipes} addComment={this.addComment}/>

Прямо сейчас AddComment только:

addComment(key, commentData)
{
    console.log(key);
    console.log(commentData);
}

И в последнем рецепте у меня есть:

<Link to={{pathname: '/recipe/' + recipe.name, state: { recipe: recipe, index: index, addComment: this.props.addComment }}}>{recipe.name}</Link>    

Это дает мнеошибка:

Не удалось выполнить 'pushState' для 'History': функция addComment () ... не может быть клонирована.

Что создает ошибку, так этоаргумент: addComment: this.props.addComment

, если я удаляю его, все работает, но мне нужно передать свою функцию thos моему компоненту Recipe.Который находится в App.js

<Route path="/recipe/:recipe" component={Recipe}/>

Который мне нужно передать все три аргумента, рецепт, индекс и функцию addComment ()

1 Ответ

0 голосов
/ 13 октября 2018

Изменение:

<Route path="/recipe/:recipe" component={Recipe}/>

на:

<Route path="/recipe/:recipe" render={(props) => <Recipe {...props} addComment={this.addComment}/>} />

В моем App.js это решено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...