我想說的是:
其實使用起來也是很簡單,但是對於 react 本身的操作要夠熟悉
最近買了薩爾達織夢島,有點太投入
整個早上都在玩,本來早上就該發文的
這一篇來做點動畫效果,最常遇到的應該就是這個我想要他淡出
又或是這個按下去要慢慢出現
這篇就來實現這個功能
首先新增一個 js 檔案,我取叫做 Boss.js
使用各種快捷鍵imrc
、ccc
快速的建立骨架,如果不知道這些是什麼
可以去看前幾天的文章 [DAY18] Developer tools 與 Snippets 之老師我也想當金手指之 debug guy
接著建立基本的畫面物件
其實也就是一個按鈕,一個代表織夢島最終目標的 div 風魚
import React, { Component } from 'react';
class Boss extends Component {
constructor(props) {
super(props);
this.state = {
isShow: false
}
}
render() {
return (
<>
<div className={this.state.isShow ? 'show' : 'hide'}>
BOSS - 風魚
</div>
<div>
<button onClick={this.toToggle}>召喚「風魚」 </button>
</div>
</>
);
}
toToggle = () => {
this.setState({
isShow: !this.state.isShow
})
}
}
export default Boss;
可以猜到未來我們會用 class 來讓 CSS 操控特效toToggle
必須使用箭頭函數,如果是用一般習慣的函數方法,則需要 bind(this)
來解決 this 不同的問題,這地方也是卡了一下,可見我對 react 甚至說對 ES6 都還不是很熟悉
每次按下按鈕,就去改變顯示的 class
接著就是 CSS 的部分
建立 style.css,針對 show
和 hide
做不同的操作
這邊使用的都是 CSS 的語法,如果喜歡的朋友也可以自行更換
寬油 CSS 的技術總結完畢
.show{opacity: 1; transition:all 1.5s ease-in;}
.hide{opacity: 0; transition:all 1.5s ease-in;}
最後把 Boss.js 和 style.css 引入一開始的按摩服務組件
就可以插入 <Boss></Boss>
組件並且在畫面上看到實際效果