web-dev-qa-db-ja.com

React-Native Navigatorは非推奨になり、このパッケージから削除されました

次のエラーが発生します。

ナビゲーターは非推奨になり、このパッケージから削除されました。これで、react-nativeの代わりにreact-native-deprecated-custom-componentsからインストールおよびインポートできるようになりました。代替ナビゲーションソリューションについては、 http://facebook.github.io/react-native/docs/navigation.html をご覧ください。

次に、react-native-deprecated-custom-componentsパッケージを更新しますが、問題は解決されません

Package.Json

"dependencies": {
    "react": "16.0.0-alpha.6",
    "react-native": "0.44.2",
    "react-native-deprecated-custom-components": "^0.1.0",
    "sendbird": "^3.0.30"
},

main.js

var React = require('react-native')
var {
  Navigator,
  StyleSheet
} = React;

var Login = require('./components/login');

import NavigationExperimental from 'react-native-deprecated-custom-components';

var ROUTES = {
  login: Login
};

module.exports = React.createClass({
  renderScene: function(route, navigator) {
    var Component = ROUTES[route.name];
    return <Component route={route} navigator={navigator} />;
  },
  render: function() {
    return (

      <NavigationExperimental.Navigator
        style={ styles.container }
        initialRoute={ {name: 'login'} }
        renderScene={this.renderScene}
        configureScene={ () => { return Navigator.SceneConfigs.FloatFromRight; } }
      />
    );
  }
});

var styles = StyleSheet.create({
  container: {
    flex: 1
  }
});

この問題を解決するために誰かが私に知らせてください

6
Arunkumar

以下のコードを使用して問題を修正しました

main.js

var React = require('react-native')
var {
  Navigator,
  StyleSheet
} = React;

var Login = require('./components/login');

import NavigationExperimental from 'react-native-deprecated-custom-components';

var ROUTES = {
  login: Login
};

module.exports = React.createClass({
  renderScene: function(route, navigator) {
    var Component = ROUTES[route.name];
    return <Component route={route} navigator={navigator} />;
  },
  render: function() {
    return (

      <NavigationExperimental.Navigator
        style={ styles.container }
        initialRoute={ {name: 'login'} }
        renderScene={this.renderScene}
        configureScene={ () => { return NavigationExperimental.Navigator.SceneConfigs.FloatFromRight; } }
      />
    );
  }
});

var styles = StyleSheet.create({
  container: {
    flex: 1
  }
});

この問題を解決するために誰かが私に知らせてください

行を変更しました

configureScene={ () => { return NavigationExperimental.Navigator.SceneConfigs.FloatFromRight; } }

configureScene={ () => { return NavigationExperimental.Navigator.SceneConfigs.FloatFromRight; } }

私の問題を修正する

8
Arunkumar

今すぐStackNavigatorを使用する必要があります

import { StackNavigator } from 'react-navigation';

const SimpleApp = StackNavigator({
  Home: { screen: HomeScreen },
  Chat: { screen: ChatScreen },
});

 <Button
          onPress={() => navigate('Chat')}
          title="Chat with Lucy"
        />

参照: https://reactnavigation.org/docs/intro/

3
Ajay Venugopal

Navigatorを使用しようとしていないのに誰かがこれを見ている場合は、次のようなimport行がある可能性があります

import * as RN from 'react-native'

(特にWebstormには、これらを自動挿入する習慣があります)

これにより、RNのすべてのエクスポートに対してgettersが呼び出され、Navigatorのエラーがトリガーされます。代わりに以下を使用してください。

import {Things, You, Need} from 'react-native'

1
Rob Hogan