Я пытаюсь создать динамический компонент, который сопоставляет индекс данных с параметром URL blogID, который я получаю с маршрутизатором.
Здесь у меня есть параметры маршрутизатора и я посылаю реквизиты компоненту
<Route path='/blog/:blogId/:blogTitle' render={() => <BlogPost blogData={this.state.blogData} /> } />
затем в компоненте я устанавливаю начальное состояние и пытаюсь отобразить данные, которые соответствуют индексу данных, но я получаю ошибку компонента, неоднократно вызывающего settate и бесконечные циклы.
constructor(props){
super(props);
this.state = {
blogId:'',
blogTitle:'',
blogData:[]
}
}
render(){
const { params:{ blogId, blogTitle } } = this.props.match;
// so i map here to get the index and set the conditional to set the new state but I don't know where or how exactly
this.props.blogData.map((val, idx) => (
idx == blogId ?
this.setState({blogData:val }) : null
))
return (
<div>
<BlogView title={this.state.blogData.title} />
</div>
)
}