В реакции стандартный способ замены componentWillReceiveProps
состоит в использовании либо getDerivedStateFromProps
, либо getSnapshotBeforeUpdate
вместе с componentDidUpdate
. Как вы делаете эту замену, когда componentWillReceiveProps
имеет второй параметр-контекст, и вам нужны свойства в нем?
Например, предположим, что код такой:
componentWillReceiveProps(nextProps, context) {
if (context.href !== this.context.href) {
const parsedUrl = url.parse(context.href, true);
const from = parseInt(parsedUrl.query.from, 100) || 0;
this.setState({
from,
more: [],
});
}
}
В большинстве примеров в Интернете, показывающих миграцию с componentWillReceiveProps
на getDerivedStateFromProp
или getSnapshotBeforeUpdate
, параметр не указан componentWillReceiveProps'
context
параметр. Ни getDerivedStateFromProp
, ни getSnapshotBeforeUpdate
не имеют nextContext
. Итак, как с context
справляются во время миграции?