You just need to pass the attribute parameter in the constructor method:
import React from 'react';
class MyComponent extends React.Component {
constructor(props) {
super(props)
this.state = {
name: props.name || 'Joseph Flowers'
};
}
}
Please note that in some cases this is not an anti-pattern:
( .)
, -, , , : : https://facebook.imtqy.com/react/tips/props-in-getInitialState-as-anti-pattern.html
BTW ES6, , :
import React from 'react';
import ReactDOM from 'react-dom';
class MyComponent extends React.Component {
constructor(props) {
super(props)
this.state = {
name: props.name && props.name !== '' ? props.name :'Joseph Flowers';
};
}
}
MyComponent.propTypes = {
name: React.PropTypes.string
}
MyComponent.defaultProps = {
name: 'My default value'
}
ReactDOM.render(<MyComponent name="" />, document.getElementById('my-container-id'));