react-native-root-toast的使用

給大家安利一款可以在iosandroid上通用的Toast組件: react-native-root-toast
現(xiàn)在開源的Toast組件一大堆挡爵,為什么要選用這個(gè)呢?原因如下:

  • javascript解決方案零酪,免去了原生安裝的各種繁雜步驟,直接一行npm install react-native-root-toast --save搞定
  • 同時(shí)兼容iOSAndroid拇勃,使用完全一致的接口四苇,不用再為同時(shí)兼容兩個(gè)平臺(tái)再寫額外的代碼
  • 可以自定義toast的各類屬性(顯示時(shí)間、位置方咆、延時(shí)月腋、動(dòng)畫、陰影等)
  • 同時(shí)支持兩種調(diào)用形式(可以使用API調(diào)用瓣赂,也可以作為Component直接放在render里面進(jìn)行控制)

安裝

npm install [React](http://lib.csdn.net/base/react)-native-root-toast --save

搞定榆骚!

使用

可以支持兩種不同的調(diào)用方式.

如果你喜歡API方式的調(diào)用

import Toast from 'react-native-root-toast'; // 引入類庫

// 通過調(diào)用 Toast.show(message, options); 可以在屏幕上顯示一個(gè)toast,并返回一個(gè)toast實(shí)例
let toast = Toast.show('This is a message', {
    duration: Toast.durations.LONG, // toast顯示時(shí)長
    position: Toast.positions.BOTTOM, // toast位置
    shadow: true, // toast是否出現(xiàn)陰影
    animation: true, // toast顯示/隱藏的時(shí)候是否需要使用動(dòng)畫過渡
    hideOnPress: true, // 是否可以通過點(diǎn)擊事件對(duì)toast進(jìn)行隱藏
    delay: 0, // toast顯示的延時(shí)
    onShow: () => { 
        // toast出現(xiàn)回調(diào)(動(dòng)畫開始時(shí))
    },
    onShown: () => {
        // toast出現(xiàn)回調(diào)(動(dòng)畫結(jié)束時(shí))
    },
    onHide: () => {
        // toast隱藏回調(diào)(動(dòng)畫開始時(shí))
    },
    onHidden: () => {
        // toast隱藏回調(diào)(動(dòng)畫結(jié)束時(shí))
    }
});

// 也可以通過調(diào)用Toast.hide(toast); 手動(dòng)隱藏toast實(shí)例
setTimeout(function () {
    Toast.hide(toast);
}, 500);

你也可以通過react組件方式調(diào)用Toast.
render里面加入<Toast />組件煌集,并通過visible屬性對(duì)Toast進(jìn)行控制.
<Toast />的屬性和API調(diào)用時(shí)傳入的選項(xiàng)相同.toast內(nèi)容添加在元素內(nèi)部:<Toast>message</Toast>

注意:通過組件方式調(diào)用的toast妓肢,在<Toast />組件 componentWillUnmount 的時(shí)候會(huì)自動(dòng)消失

import React, {Component} from 'react-native';
import Toast from 'react-native-root-toast';

class Example extends Component{
    constructor() {
        super(...arguments);
        this.state = {
            visible: false
        };
    }

    componentDidMount() {
        setTimeout(() => this.setState({
            visible: true
        }), 2000); // show toast after 2s

        setTimeout(() => this.setState({
            visible: false
        }), 5000); // hide toast after 5s
    };

    render() {
        return <Toast
            visible={this.state.visible}
            position={50}
            shadow={false}
            animation={false}
            hideOnPress={true}
        >This is a message</Toast>;
    }
}

報(bào)錯(cuò) null is not an object(evaluting '_this._root_setNativeProps')

修改方法:
在源文件lib/ToastContainer.js中改下代碼

componentWillUnmount = () => {
   this._root&&this._hide();
};

參考:
http://blog.csdn.net/sinat_17775997/article/details/60954255
https://github.com/magicismight/react-native-root-toast/issues/24

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市苫纤,隨后出現(xiàn)的幾起案子碉钠,更是在濱河造成了極大的恐慌,老刑警劉巖卷拘,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件喊废,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡栗弟,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門陆蟆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來遍搞,“玉大人器腋,你說我怎么就攤上這事溪猿∪宜” “怎么了措左?”我有些...
    開封第一講書人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵怎披,是天一觀的道長凉逛。 經(jīng)常有香客問我,道長毫胜,這世上最難降的妖魔是什么诬辈? 我笑而不...
    開封第一講書人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任口渔,我火速辦了婚禮搓劫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘勤揩。我一直安慰自己陨亡,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著叠赐,像睡著了一般芭概。 火紅的嫁衣襯著肌膚如雪惩嘉。 梳的紋絲不亂的頭發(fā)上文黎,一...
    開封第一講書人閱讀 49,760評(píng)論 1 289
  • 那天桩蓉,我揣著相機(jī)與錄音触机,去河邊找鬼儡首。 笑死偏友,一個(gè)胖子當(dāng)著我的面吹牛蔬胯,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播位他,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼氛濒,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了鹅髓?” 一聲冷哼從身側(cè)響起舞竿,我...
    開封第一講書人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎窿冯,沒想到半個(gè)月后骗奖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年执桌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鄙皇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡仰挣,死狀恐怖伴逸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情膘壶,我是刑警寧澤错蝴,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站香椎,受9級(jí)特大地震影響漱竖,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜畜伐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一馍惹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧玛界,春花似錦万矾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至笨枯,卻和暖如春薪丁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背馅精。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來泰國打工严嗜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人洲敢。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓漫玄,卻偏偏與公主長得像,于是被迫代替她去往敵國和親压彭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子睦优,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容