微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

React 无法识别 Parallax.js

如何解决React 无法识别 Parallax.js

我正在尝试安装 https://github.com/wagerfield/parallax/,我已经阅读了文档,并且我得到了如何在 javascript 中使用它的示例,我将在 React 中使用它,因此,使用该示例和文档对于反应,我认为我的代码应该可以工作,但它没有!,控制台打印此错误

Warning: React does not recognize the `dataDepth` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute,spell it as lowercase `datadepth` instead. If you accidentally passed it from a parent component,remove it from the DOM element.

这是我为示例阅读的示例:

https://github.com/wagerfield/parallax/blob/master/examples/pages/simple.html

这是如何在 react 中使用 parallax.js 的例子:

https://github.com/wagerfield/parallax/issues/167

这是我实际的jsx代码

import React,{useEffect,useRef} from 'react';
// @ts-ignore
import Parallax from 'parallax-js';
import BackgroundIMG from '../assets/img/background.jpg';
import guitar from '../assets/img/guitar.png';
import Layer1 from '../assets/img/layer1.png';
import Layer2 from '../assets/img/layer2.png';
import Layer3 from '../assets/img/layer3.png';
import Layer4 from '../assets/img/layer4.png';
import Layer5 from '../assets/img/layer5.png';
import Layer6 from '../assets/img/layer6.png';
import './styles/Home.css';

const Home = () => {
  const sceneEl = useRef(null);

  useEffect(() => {
    const parallaxInstance = new Parallax(sceneEl.current,{
      relativeInput: true,})
    
    parallaxInstance.enable();

    return () => parallaxInstance.disable();

  },[])

  return (
    <div id="container">
      <div id="scene" ref={sceneEl}>
        <div dataDepth="1.00"><img src={Layer1} /></div>
        <div dataDepth="0.80"><img src={Layer2} /></div>
        <div dataDepth="0.60"><img src={Layer3} /></div>
        <div dataDepth="0.40"><img src={Layer4} /></div>
        <div dataDepth="0.20"><img src={Layer5} /></div>
        <div dataDepth="0.00"><img src={Layer6} /></div>
      </div>
    </div>
  )
}

export default Home;

我的浏览器显示这个!

Browser

但它没有视差效果

在这里你可以看到我所说内容的演示。

http://matthew.wagerfield.com/parallax/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。