• React-使用react-move实现从下到上进入的动画 +使用react-intl实现国际化


    一、使用react-move实现从下到上进入的动画

    1.引入:
    import { Animate } from 'react-move';
    

      

    2.规定要添加动画的元素的useState:
    const [show, setShow] = useState(false);
    
        useEffect(() => {
            setShow(true);
        }, []);
    3.元素代码:
    <Animate
                                    start={{
                                        opacity: 0,
                                        y: index===0 ? 100 : 300
                                    }}
                                    update={() => ({
                                        opacity: 1,
                                        y: [show ? 0 : index===0 ? 100 : 300],
                                        timing: { duration: 600, ease: easeQuadInOut, delay: index===0 ? 1000 : 2000 }
                                    })}
                                    >
                                        {state => (
                                            <div className='section-joinus__select' key={item.country} style={{
                                                    transform: `translateY(${state.y}%)`,opacity: 1
                                                }}>
                                                <div className='country'><i className='i-pos'><Location/></i><span>{item.country}</span><i className='i-up'><ArrowUp/></i></div>
                                                <div className='option' style={{height: index===0 ? options ? '0': '200px': options? '200px': '0'}}>
                                                    <ul>
                                                        <li>{item.work1}</li>
                                                        <li>{item.work2}</li>
                                                    </ul>
                                                    <button>{item.btntxt}</button>
                                                </div>
                                            </div>
                                        )}
                                    </Animate>
    

    4.插件2019-09-19官网

    https://www.npmjs.com/package/react-move



    二、国际化

     

    1.安装依赖

    npm的话命令是:npm install react-intl --save

    yarn的话命令是:yarn add react-intl --save

    2.src文件目录下新建locale目录,新增中英文两个js文件:

     

     一个用来规定英文,一个规定中文:

    const en_US = {  
      'component.about.btn': '英文示例',
    }
    export default en_US;
    

      

    const zh_CN = {
      'component.about.btn': '中文示例',
    }
    export default zh_CN;

    前面是id,用来在组件中引用,后面是对应的文字。

     

    3.app.js中引入包裹的组件与两个js语言文件,并进行当前语言环境的判断:

    import { IntlProvider } from 'react-intl';
    import zh_CN from '../../locales/zh-CN';
    import en_US from '../../locales/en-US';
    
    const App = () => {
        const locale = navigator.language.split('_')[0] || 'en-US';
        return (
            <React.Fragment>
                <IntlProvider locale={locale === 'zh-CN' ? 'zh' : 'en'} messages={locale === 'zh-CN' ? zh_CN : en_US}> 
                    <Nav />
                    <div className="page-content">
                        <About />
                    </div>
                    <Footer />
                </IntlProvider>
            </React.Fragment>
        );
    };
    export default App;
    

      

    4.组件中使用FormattedMessage ,规定属性id即可:

    import { FormattedMessage } from 'react-intl';
    

     

     

    5.官网npm地址:

  • 相关阅读:
    申请Google Adsense通过终审的关键点
    Google Adsense(谷歌网站联盟)广告申请指南
    年轻人请不要轻易在公司离职!(转)
    自己定义开发线程池
    js 闭包,作用域,this 终结篇(转)
    javaweb 发布目录
    linux中SCP的用法
    win10系统win10搜索框不能用 解决方案
    【经验总结】linux 安装python (替换系统自带的python版本)
    大数据Hadoop生态体系,环境搭建到集群管理
  • 原文地址:https://www.cnblogs.com/nangras/p/11549325.html
Copyright © 2020-2023  润新知