Реагируйте на собственные пакеты установки - PullRequest
1 голос
/ 30 марта 2019

Новичок React-Native здесь сталкивается с проблемами и задается вопросом, пропустил ли я фундаментальный шаг в установке пакетов.

Я пытался использовать пакетact-native-rsa-native (https://github.com/amitaymolko/react-native-rsa-native)

Однако я получаю

TypeError: undefined is not an object (evaluating '_reactNativeRsaNative.RSA.generateKeys')

Мой тестовый код:

import React from 'react';
import { StyleSheet, Text, View } from 'react-native';

import { RSA, RSAKeychain } from 'react-native-rsa-native';

export default class App extends React.Component {

  componentWillMount() {
    RSA.generateKeys(4096) // set key size
      .then(keys => {
        console.log('4096 private:', keys.private) // the private key
        console.log('4096 public:', keys.public) // the public key
      });
  }

  render() {
    ...
  }
}

Выполнены следующие шаги:

expo init rsatest --template blank@sdk-31 --yarn
cd rsatest
yarn add react-native-rsa-native
react-native link react-native-rsa-native
yarn start

Пакетact-native-rsa-native действительно присутствует в каталоге node_modules, однако я чувствую, что что-то упустил.

Есть идеи?

Ответы [ 3 ]

1 голос
/ 30 марта 2019

Одна вещь, которая может иметь отношение к делу, - это то, что componentWillMount устарела.

https://reactjs.org/docs/react-component.html Реакция документов служит основой для реагирования на собственные документы.

Также с componentWillMount() если есть вызов извлечения, с обещанием обещание не вернется до монтирования компонента, компонент возвратится пустым хотя бы один раз.

Я предлагаю попробовать componentDidMount ()

Надеюсь, это поможет

Отредактировано для орфографии *

0 голосов
/ 27 апреля 2019

Вы можете удалить модуль modul, а затем npm установить response-native link response-native run-android / run-ios

возможно

это полезно: как удалить установленноеФорма библиотеки реагирует на собственный проект

0 голосов
/ 30 марта 2019

Эта библиотека не совместима с Expo.Проверьте здесь, почему: реагирует на нативную ссылку, используя expo?

Так что вы можете expo eject.Который, я думаю, тоже не вариант.

Как насчет того, чтобы попробовать это ниже?https://github.com/z-hao-wang/react-native-rsa

...