Привет, у меня есть такой код:
class PlayCard extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<Card.Group>
{this.props.players.map(player => {
return (
<Card key={player._id}>
<Card.Content>
<Card.Header>Name: {player.name}</Card.Header>
<Card.Description>
<List divided relaxed>
<List.Item>
<List.Content>
<List.Header> Points : {player.points}</List.Header>
</List.Content>
</List.Item>
<List.Item>
<List.Content>
<List.Header> Turn : {player.turn}</List.Header>
</List.Content>
</List.Item>
</List>
</Card.Description>
</Card.Content>
</Card>
);
})}
</Card.Group>
);
}
}
const PlayCardWithTracker = withTracker(props => {
const play = props.play;
return {
players: Players.find({ _id: { $in: play.players } });,
};
})(PlayCard);
class TrainerDashboard extends React.Component {
constructor(props) {
super(props);
}
render() {
if (this.props.ready) {
return (
<div>
{this.props.plays.map(play => (
<PlayCardWithTracker key={play._id} play={play} />
))}
<NewGameModal />
</div>
);
} else {
return <div />;
}
}
}
export default withTracker(props => {
const handle = Meteor.subscribe("trainerCurrentPlays");
return {
ready: handle.ready(),
plays: Plays.find({
userId: Meteor.userId()
}).fetch()
};
})(TrainerDashboard);
Проблема в том, что обновление в коллекции Players
не отображается в пользовательском интерфейсе.PlayCard
компонент не отображается.Я думаю, я использовал withTracker
неправильно.Теперь мне нужно обновить страницу, чтобы увидеть распространение изменений, что определенно не является ожидаемым поведением.Наверняка что-то не так в моем коде.Любая помощь будет оценена.