2017-02-13 9 views
0

Я экспериментировал с интеграцией моего приложения с Realm.io .. как это кажется довольно удивительной платформа для использования. Я пытаюсь войти + зарегистрировать пользователей правильно через что-то вроде:Realm + Реагировать Native лучшей настройку практики пользователя с синхронизацией

Realm.Sync.User.register('http://realm-ip:9080', this.state.email, this.state.password, (error, user) => { 
    if (!error) { 
    var realm = new Realm({ 
     sync: { 
     user: user, 
     url: 'realm://realm-ip:9080/~/userRealm', 
     }, 
     schema: [PersonSchema, ConversationSchema] 
    }); 
    } 
    else { 
    console.log(error); 
    } 
}) 

Это, кажется, работает очень хорошо. У меня есть аналогичный код для входа в систему пользователя. Хотя, если смотреть на Realm JS (React Native) примеры здесь: https://github.com/realm/realm-js/blob/master/examples/ReactExample/components/realm.js они экспортируют объект области действия что-то вроде:

export default new Realm({schema: [Todo, TodoList]}); 

Теперь, это кажется очень аккуратно, и делает использование realm безотказно в остальной части приложение. Тем не менее, это не делает использование синхронизации объекта с реквизитами пользователя в нем, как это предусмотрено при использовании Realm.Sync.User.* Кроме того, я не могу понять, лучший способ практики для достижения этой модульной конструкции, но до сих пор пользователей Войти/зарегистрироваться с помощью кулака пример Я показал с Realm.Sync.User.register()

Пример приложения https://github.com/realm/realm-js/blob/master/examples/ReactExample не дает убедительных примеров регистрации пользователей.

Мои вопросы:

  • Какой самый лучший способ, чтобы держать вещи аккуратно и пользователей настройки правильно?
  • Есть ли лучший способ получить доступ к инициализирован realm объекта, который был настроен с sync: { user: user, url: 'realm url'}?
  • Есть ли лучший пример, чтобы узнать, как сделать это с?

Если мой вопрос не имеет смысла, сообщите мне, и я попытаюсь уточнить ... поскольку я понимаю, что это может быть нелегко понять.

ответ

3

Ну, это отчасти зависит от ситуации и существует целый ряд подходов, которые могли бы работать. Я думаю, вы могли бы сделать что-то вроде этого:

// realm-container.js 

import Realm from 'realm'; 

export default { 
    realm: null, 
    initialize: (email, password) => { 
    Realm.Sync.User.register('http://realm-ip:9080', email, password, (error, user) => { 
     if (!error) { 
     this.realm = new Realm({ 
      sync: { 
      user: user, 
      url: 'realm://realm-ip:9080/~/userRealm', 
      }, 
      schema: [PersonSchema, ConversationSchema] 
     }); 
     } 
     else { 
     console.log(error); 
     } 
    }) 
    } 
}; 

Затем, если вы включите, что в качестве импорта realmContainer из «./realm-container»;

вы можете назвать realmContainer.initialize(email, password) и относятся к области, как это: realmContainer.realm

+0

большое предложение. Спасибо за ввод. Теперь я пытаюсь выяснить, как бороться с состоянием аутентификации. Не могу ничего увидеть в документах об этом. –

+0

Что-то пошло не так. Я не могу повторить это. RealmContainer.realm после инициализации имеет значение null. –

 Смежные вопросы

  • Нет связанных вопросов^_^