Answer a question

Recently, React started giving depreciation warnings for componentWillReceiveProps lifecycle method. I am using a library that utilized this function and the maintainers haven't updated their codebase yet.

Currently, any time I run my tests, whether it is in development or in CI, I keep getting ~30 lines of depreciation warnings for each component that the maintainer provides.

Is there a way to suppress these warnings (at least in development)?

EDIT:

I am willing to add certain comments in my files to disable warnings from a specific package if there is a chance:

// some line to disable warnings for this package
import { DateRangePicker } from 'react-dates';

Answers

If you want to disable all warnings that meet some condition, keeping all other warnings, for all tests:

const originalWarn = console.warn.bind(console.warn)
beforeAll(() => {
  console.warn = (msg) => 
    !msg.toString().includes('componentWillReceiveProps') && originalWarn(msg)
})
afterAll(() => {
  console.warn = originalWarn
})

React codebase also contains expect(render(...)).toWarnDev(...), but that's not included in Jest documentation, you might need to investigate more if you want to use that feature.

Logo

React社区为您提供最前沿的新闻资讯和知识内容

更多推荐