reactv16のテストでWarning: React depends on requestAnimationFrameが出る場合
react v16はrequestAnimationFrameを要求しますが、jestが使っているjsdom環境だとポイフィルが必要が必要です。
まあ、一時的なハックで時間が解決すると思いますが。
Warning: React depends on requestAnimationFrame. Make sure that you load a polyfill in older browsers. http://fb.me/react-polyfills
jest
さて、素のjest環境だとjest.config.jsのsetupFileに以下を追加すればいいです。
module.exports = {
setupFiles: ['raf/polyfill'],
}
create-react-app環境
create-react-app(CRA)だと、jestの設定をそのままいじれないので少しハックは必要です。
src
以下に以下のようなsetupTest.js
を配置します。
どうせ使うと思うので、enzymeの設定も乗せておきます。
import raf from './tempPolyfills'
import Enzyme from 'enzyme'
import Adapter from 'enzyme-adapter-react-16'
Enzyme.configure({ adapter: new Adapter() })
同じ階層にtempPolyfills.js
を容易します。
const raf = (global.requestAnimationFrame = cb => {
setTimeout(cb, 0)
})
export default raf
これでエラーが解消されるはずです。
関連
Reactやreduxのアプリケーションを高速に構築する記事をいくつかあげているのでよかったら確認してください。
さよならボイラープレート。s2sによる高速reduxアプリケーション構築
s2s: reduxにおけるreducerのテスト。あなたがテストを書く必要はないかも知れない
https://qiita.com/akameco/items/66a2232df0e95e5bfe31
flowtypeのactionの型付け。String Literal型とString型について
https://qiita.com/akameco/items/e7021e22da4c9e14463a
Flowtype+reduxにおけるreducerの正しい型付け
https://qiita.com/akameco/items/fe7ba22c158a2593b077
なんかあればコメント欄またはtwitterまでどうぞ。
s2sを使ったreducerのテストケースの生成。コードを書くとき、そこにテストはある https://t.co/FISlpWrpOe pic.twitter.com/8CNWHhOQwL
— 無職.js (@akameco) October 2, 2017
Author And Source
この問題について(reactv16のテストでWarning: React depends on requestAnimationFrameが出る場合), 我々は、より多くの情報をここで見つけました https://qiita.com/akameco/items/b78b11cea476cf642b75著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .