componentDidUpdate
вашего исходного компонента должен работать независимо от того, находится ли он в HOC или нет, проверьте, действительно ли изменяются реквизиты для запуска обновления. Если вы проверяете, вызывается ли componentDidUpdate
HOC, то убедитесь, что HOC обновляется.
Запись HOC в формате ES5 может помочь вам понять значение параметра props
во внутренней функции, ваш withLoad HOC может быть записан как
function withLoad(WrappedComponent){
console.log(WrappedComponent.displayName || WrappedComponent.name ); // App
return function(props){ // props of your HOC are consumed here
if(props.load)
return (<div>Loading...</div>)
else
return (<WrappedComponent {...props} />);
}
, поэтому, когда вы используете HOC в качестве const LoadingApp = withLoad(App)
и позже используете это как <LoadingApp load={true} />
, вы можете видеть, что реквизиты LoadingApp используются во внутренней функции.
Посмотрите на React docs для HOC , это поможет разобраться.