Я делаю свой собственный шаблон реакции и прихожу до обновления пакетов.Поэтому я реагирую на обновление основной версии (v15x до v16x) и изменяю свой код в файле модуля с именем injectReducer
.Итак, что я изменил в injectReducer
, так это:
static contextTypes = {
store: PropTypes.object.isRequired,
};
до этого:
static contextType = ReactReduxContext;
Теперь я думаю, что это не помогаеткритические изменения на моем шаблоне, потому что использует модуля, все тот же (обратно совместимый).Но как насчет пакета, который я обновил?Должна ли какая-либо библиотека, обновленная по основным, считаться критическими изменениями?А как насчет небольших обновлений?
Вот мой полный код injectReducer
:
import React from 'react';
import { ReactReduxContext } from 'react-redux';
import hoistNonReactStatics from 'hoist-non-react-statics';
import getInjectors from './reducerInjectors';
export default ({ key, reducer }) => (WrappedComponent) => {
class ReducerInjector extends React.Component {
static WrappedComponent = WrappedComponent;
static displayName = `withReducer(${(WrappedComponent.displayName || WrappedComponent.name || 'Component')})`;
static contextType = ReactReduxContext;
injectors = getInjectors(this.context.store);
componentWillMount() {
const { injectReducer } = this.injectors;
injectReducer(key, reducer);
}
render() {
return <WrappedComponent {...this.props} />;
}
}
return hoistNonReactStatics(ReducerInjector, WrappedComponent);
};