Получение ошибки при выполнении реакции на ссылку

Проверенное решение на основе принятого ответа:

mongodbutil.js:

var MongoClient = require( 'mongodb' ).MongoClient;
var _db;
module.exports = {
  connectToServer: function( callback ) {
    MongoClient.connect( "<connection string>", function( err, client ) {
      _db = client.db("<collection name>");
      return callback( err );
    } );
  },
  getDb: function() {
    return _db;
  }
};

app.js :

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var app = express();
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

var mongodbutil = require( './mongodbutil' );
mongodbutil.connectToServer( function( err ) {
  //app goes online once this callback occurs
  var indexRouter = require('./routes/index');
  var usersRouter = require('./routes/users');
  var companiesRouter = require('./routes/companies');
  var activitiesRouter = require('./routes/activities');
  var registerRouter = require('./routes/register');  
  app.use('/', indexRouter);
  app.use('/users', usersRouter);
  app.use('/companies', companiesRouter);
  app.use('/activities', activitiesRouter);
  app.use('/register', registerRouter);  
  // catch 404 and forward to error handler
  app.use(function(req, res, next) {
    next(createError(404));
  });
  // error handler
  app.use(function(err, req, res, next) {
    res.locals.message = err.message;
    res.locals.error = req.app.get('env') === 'development' ? err : {};
    res.status(err.status || 500);
    res.render('error');
  });
  //end of calback
});

module.exports = app;

activities.js - маршрут:

var express = require('express');
var router = express.Router();
var mongodbutil = require( '../mongodbutil' );
var db = mongodbutil.getDb();

router.get('/', (req, res, next) => {  
    db.collection('activities').find().toArray((err, results) => {
        if (err) return console.log(err)
            res.render('activities', {activities: results, title: "Activities"})
    });
});

router.post('/', (req, res) => {
  db.collection('activities').save(req.body, (err, result) => {
    if (err) return console.log(err)
    res.redirect('/activities')
  })
});

module.exports = router;

0
задан Ahtesham Shah 5 March 2019 в 10:01
поделиться

2 ответа

Спасибо @AmirGorji @parashKorat за помощь мне. Для меня эта проблема возникла, потому что я удалил android:roundIcon="@mipmap/ic_launcher_round" из файла манифеста. Когда я ставлю это снова, react-native link работает. Я удалил его, потому что после добавления моих значков он показывал ошибку пропуска круглого значка, для временного я удалил это.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.namaztiming">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

    <application
      android:name=".MainApplication"
      android:label="@string/app_name"
      android:icon="@mipmap/ic_launcher"
      android:roundIcon="@mipmap/ic_launcher_round"
      android:allowBackup="false"
      android:theme="@style/AppTheme">
      <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
        android:windowSoftInputMode="adjustResize">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
      </activity>
      <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
    </application>

</manifest>

Я не знаю, является ли это правильным решением или нет, но в моем случае это решило проблему.

0
ответ дан Ahtesham Shah 5 March 2019 в 10:01
поделиться

1-Убедитесь, что вы выполнили npm install native-base --save в каталоге проекта

2- Попробуйте npm i исправить проблемы с зависимостями, затем введите react-native run-android убедитесь, что ваши зависимости и папка "node_modules" работают правильно и проект может работать.

Если у вас нет папки 'android' или 'ios', вы можете использовать команду react-native eject, затем связать пакеты.

3- Напишите команду react-native link native-base, эта команда связывает в точности пакет native-base с реагировать на native.
Однако я рекомендую вам в основном связывать пакеты вручную.

Вы также можете попробовать предыдущую версию native base, например v 2.10.0.

0
ответ дан Amir Gorji 5 March 2019 в 10:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: