Encontré una forma de evitar este aviso de obsolescencia y, al mismo tiempo, seguir teniendo acceso a user_field:
api.getCurrentUser().findDetails().then((user) => { ... });
Sin embargo, findDetails siempre enviará una solicitud al servidor. No se guarda nada en caché. Una vez que se llama, el usuario actual tendrá user_fields poblados.
Así que puedes optimizar un poco la lógica de la siguiente manera:
function withUserFields(user, callback) {
if (user.user_fields === undefined) {
user.findDetails().then(callback);
} else {
callback(user);
}
}
withUserFields(api.getCurrentUser(), (user) => {
// hacer algo con user.user_fields[]
});