Meteor-Community-Packages/meteor-roles

Question: How to reactively check roles in React with v4.0.0?

Aperta

#416 aperta il 3 feb 2025

 (5 commenti) (0 reazioni) (0 assegnatari)JavaScript (161 fork)batch import
enhancementgood first issue

Metriche repository

Star
 (919 stelle)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

I upgraded from Meteor 2 with roles@1.x to Meteor 3 with roles@4.0.0. With the old package, where the roles were bound to the user object, calls to Roles.isUserInRole() worked reactively. We used this a lot to enable or disable app features based on roles. It was pretty impressive when we just added new features to a user in a Zoom session.

But now, the user has to reload the page to get the upated roles information, although I publish the role information like this:

import { Meteor } from 'meteor/meteor';

Meteor.publish(null, async function() {
 if (!this.userId) return this.ready();
 return Meteor.roleAssignment.find({ 'user._id': this.userId });
});

What is the best way to get back to the old reactivity in React? A hook maybe that works reactively?

Guida contributor