@@ -6,7 +6,6 @@ import { fromJS } from "immutable"
66const noop = ( ) => { }
77
88export default class ContentType extends React . Component {
9-
109 static propTypes = {
1110 ariaControls : PropTypes . string ,
1211 contentTypes : PropTypes . oneOfType ( [ ImPropTypes . list , ImPropTypes . set , ImPropTypes . seq ] ) ,
@@ -24,19 +23,22 @@ export default class ContentType extends React.Component {
2423 }
2524
2625 componentDidMount ( ) {
27- // Needed to populate the form, initially
28- if ( this . props . contentTypes ) {
29- this . props . onChange ( this . props . contentTypes . first ( ) )
26+ // Populate the form initially
27+ const { contentTypes, onChange } = this . props
28+ if ( contentTypes && contentTypes . size ) {
29+ onChange ( contentTypes . first ( ) )
3030 }
3131 }
3232
33- UNSAFE_componentWillReceiveProps ( nextProps ) {
34- if ( ! nextProps . contentTypes || ! nextProps . contentTypes . size ) {
33+ componentDidUpdate ( ) {
34+ const { contentTypes, value, onChange } = this . props
35+
36+ if ( ! contentTypes || ! contentTypes . size ) {
3537 return
3638 }
3739
38- if ( ! nextProps . contentTypes . includes ( nextProps . value ) ) {
39- nextProps . onChange ( nextProps . contentTypes . first ( ) )
40+ if ( ! contentTypes . includes ( value ) ) {
41+ onChange ( contentTypes . first ( ) )
4042 }
4143 }
4244
@@ -58,4 +60,5 @@ export default class ContentType extends React.Component {
5860 </ div >
5961 )
6062 }
61- }
63+
64+ }
0 commit comments