加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

当使用带有react-native-web的redux-saga时,我们得到一个错误`无

发布时间:2020-12-15 20:18:12 所属栏目:百科 来源:网络整理
导读:我刚开始玩redux-sagas,我收到一个奇怪的错误.我们使用React Native进行iOS,Android和Web开发,我得到的错误是特定于Web环境的. 在我们的代码中,我有./sagas/index.js,其中包含: function* mySaga() { console.log('my saga');}export default mySaga; 只要
我刚开始玩redux-sagas,我收到一个奇怪的错误.我们使用React Native进行iOS,Android和Web开发,我得到的错误是特定于Web环境的.

在我们的代码中,我有./sagas/index.js,其中包含:

function* mySaga() {
  console.log('my saga');
}

export default mySaga;

只要我在任何地方导入该文件(更不用说尝试调用该函数),我就会收到此错误:

Uncaught TypeError: Cannot read property 'mark' of undefined
    at Object../src/sagas/index.js (bundle.js:80385)
    at __webpack_require__ (bootstrap 029e2c2…:659)
    at fn (bootstrap 029e2c2…:85)

我认为它必须是我们的webpack中的东西所以我在这里包括:

const webpack = require('webpack');

const path = require('path');

module.exports = {
  devServer: {
    contentBase: path.join(__dirname,'build'),// enable HMR
    hot: true,// embed the webpack-dev-server runtime into the bundle
    inline: true,// serve index.html in place of 404 responses to allow HTML5 history
    historyApiFallback: true,host: '0.0.0.0',port: 3333
  },devtool: 'source-map',entry: [
    'webpack-dev-server/client?http://localhost:3333','webpack/hot/only-dev-server','react-hot-loader/patch',path.join(__dirname,'../index.web.js')
  ],module: {
    rules: [
      {
        test: /.js$/,include: [
          path.resolve(__dirname,"../node_modules/react-native-vector-icons"),path.resolve(__dirname,"../node_modules/react-native-elements"),"../node_modules/react-native-tab-view"),"../node_modules/react-native-side-menu"),"../node_modules/react-native-tab-navigator"),'../index.web.js'),'../src')

        ],loader: 'babel-loader?+cacheDirectory',query: {
            presets: ['es2015','stage-2','react','react-native','flow'],plugins: [
              'transform-flow-comments','transform-react-remove-prop-types'
            ]
        }
      },{
        test: /.(gif|jpe?g|png|svg)$/,"../node_modules/react-navigation"),"../src/assets/")
        ],loader: 'file-loader',query: { name: '[name].[hash:16].[ext]' }
      },{
        test: /.ttf$/,loader: "url-loader",// or directly file-loader
        include: path.resolve(__dirname,},]
  },output: {
    path: path.join(__dirname,filename: 'bundle.js'
  },plugins: [
    new webpack.HotModuleReplacementPlugin(),new webpack.NamedModulesPlugin(),new webpack.DefinePlugin({
      'NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development'),'process.env': {
        NODE_ENV: JSON.stringify(process.env.NODE_ENV || 'development')
      },'__DEV__': JSON.stringify(process.env.NODE_ENV === 'development')
    })
  ],resolve: {
    modules: [
      path.join(__dirname,'..','node_modules')
    ],alias: {
      'react-native': 'react-native-web','react-navigation': 'react-navigation/lib/react-navigation.js',}
  }
};

有任何想法吗??

解决方法

这似乎是一个问题,因为babel-preset-react-native 2.1.0.只需降级到2.0.0即可正常工作:

watchman watch-del-all
rm -rf ./node_modules
rm -rf $TMPDIR/react-*
npm i babel-preset-react-native@2.0.0 -D -S
npm install
npm start -- --reset-cache
react-native run-ios

有关详细信息,请参见issue #14838.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读