React swiper无法正常工作:Uncaught TypeError:react_1.useEffect不是函数

问题描述 投票:0回答:2

我已经在我的网络应用程序中安装了react-id-swiper:

https://www.npmjs.com/package/react-id-swiper

安装:npm install --save react-id-swiper@latest swiper@latest

我创建了以下组件:

import React from 'react';
import Swiper from 'react-id-swiper/lib/ReactIdSwiper.full';

const SimpleSwiper = () => (
  <Swiper>
    <div>Slide 1</div>
    <div>Slide 2</div>
    <div>Slide 3</div>
    <div>Slide 4</div>
    <div>Slide 5</div>
  </Swiper>
)

export default SimpleSwiper;

在App.js中导入了组件:

import React from 'react';
import {Route} from 'react-router-dom';

import LandingPage from './templates/LandingPage';
import SimpleSwiper from "./templates/Swiper";

class App extends React.Component{

  render(){
    return(

    <div>
      <Route path="/" exact component={LandingPage} />
      <Route path="/slide" component={ () => 
        <SimpleSwiper />}  
      />
    </div>
  )
  }

}

export default App;

当我在浏览器http://localhost:3000/slide中访问它时,会显示以下错误:

Uncaught TypeError: react_1.useEffect is not a function
    at ReactIdSwiper (ReactIdSwiper.full.js:104)
    at mountIndeterminateComponent (react-dom.development.js:13381)
    at beginWork (react-dom.development.js:13821)
    at performUnitOfWork (react-dom.development.js:15864)
    at workLoop (react-dom.development.js:15903)
    at HTMLUnknownElement.callCallback (react-dom.development.js:100)
    at Object.invokeGuardedCallbackDev (react-dom.development.js:138)
    at invokeGuardedCallback (react-dom.development.js:187)
    at replayUnitOfWork (react-dom.development.js:15311)
    at renderRoot (react-dom.development.js:15963)

我不确定我错过了什么......

reactjs swiper
2个回答
0
投票

显然他们已经使用了useEffect钩子了(太棒了!)。也许你可以直接导入它?

import React, { useEffect } from 'react';

0
投票

编辑:

我使用的是16.3.2版本的React。

钩子作为版本16.8.0的一部分发布,您可以通过升级React和React-dom 16.8.0来使用它。

我升级了它:

npm upgrade react react-dom

更新的版本是"react-dom": "^16.8.6",现在一切都很好。

因此,如果您想使用react-swiper,请确保您的React和React-dom是最新的,以便可以使用Hooks。

© www.soinside.com 2019 - 2024. All rights reserved.