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

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

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

  

1
2.规定要添加动画的元素的useState:
1
2
3
4
5
const [show, setShow] = useState(false);
 
    useEffect(() => {
        setShow(true);
    }, []);
1
3.元素代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<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
<br><br>

二、国际化

 

1.安装依赖

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

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

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

 

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

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

  

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

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

 

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

1
2
3
import { IntlProvider } from 'react-intl';
import zh_CN from '../../locales/zh-CN';
import en_US from '../../locales/en-US';
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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即可:

1
import { FormattedMessage } from 'react-intl';

 

 

5.官网npm地址:

1
https://www.npmjs.com/package/react-intl
posted @   芝麻小仙女  阅读(838)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2018-09-19 Ios证书申请流程
点击右上角即可分享
微信分享提示