Answer the question
In order to leave comments, you need to log in
How to dynamically set the default state of a component in ReactJS?
I want to perform a check before setting the initial state to the component, how can I do this?
class MyComponent extends Component {
constructor(props) {
super(props);
this.state = {
counter : 0,
step : 0,
listeningInFavorite : true
}
Answer the question
In order to leave comments, you need to log in
use
componentWillMount(){
if(this.props.listeningIsFavorite===true)
...
}else
componentWillMount() {
if(Meteor.user()) { //если пользователь авторизован
var userFavoriteList = Meteor.user().profile.favoritesList; //получаем список избранного пользователя
var currentListeningId = this.props.listeningId; //текущее объявление
for(let i; i < userFavoriteList.length; i++) {
//Если id текущего объявления совпали с id из избранного
if(userFavoriteList._id === currentListeningId) {
//Меняем на правду
this.setState({
listeningInFavorite : true
});
console.log('Объявление найдено')
} else { //Если нет то меняем на ложь
this.setState({
listeningInFavorite : false
});
console.log('Объявление не найдено в списке избранного')
}
}
}
}
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question