但... 實作時發生
這是舊的實作方式 (我自己有轉為較新的 ES6 寫法...)
就的 getPhotos 會接受三個參數。
新的 getPhotos 只接受一個參數,並回傳 promise,請參考官方文件。新的要改為 (僅為示範...) :
有個第三方套件跟 cameraRoll 有關的: https://github.com/bamlab/rn-camera-roll
CameraRoll.getPhotos(tag, success, error) is deprecated.
Use the returned Promise instead
。別擔心這也不是個錯誤,react native 還是會正常顯示。大概是因為我的 react native 版本較新,我的是 ^0.26.1,範例的 ^0.11.4。這... 邊看書邊學 debug, diff 新舊差異,也是蠻不錯的。這是舊的實作方式 (我自己有轉為較新的 ES6 寫法...)
就的 getPhotos 會接受三個參數。
componentDidMount() { CameraRoll.getPhotos( {first: 5}, // 參數物件 first 要求反序的照片數量 (最新的先拿到) (data) => { // 成功 callback this.setState({ // 從相機相簿顯示照片 這裡的 edges[3] 表示會拿到最近拍照的第三張 photoSource: {uri: data.edges[3].node.image.uri} }) }, (error) => { // 失敗的 callback console.warn(error) } ) }
新的 getPhotos 只接受一個參數,並回傳 promise,請參考官方文件。新的要改為 (僅為示範...) :
const fetchParams = { first: 5, }; CameraRoll.getPhotos(fetchParams) .then((data) => { // console.log(data); this.setState({ photoSource: {uri: data.edges[3].node.image.uri } }); }) .catch((error) => console.log('getPhotos error: ' + error.message)) .done(() => { alert('CameraRoll getPhotos done!'); });
有個第三方套件跟 cameraRoll 有關的: https://github.com/bamlab/rn-camera-roll
你好,可以分享一下ES6的写法吗?
回覆刪除