Проблема в том, что вам нужно передать значение в значение prop SelectField, но не возможные значения и никогда не выполнять привязку непосредственно при рендере, а делать это в конструкторе
Сохраняйте свой номер состояния значения, но не массив
Проверьте ниже исправленный код
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import SelectField from 'material-ui/SelectField';
import MenuItem from 'material-ui/MenuItem';
class MatchPintOwnerFilter extends Component {
constructor() {
super();
this.state = {
value: 1,
};
this.handleChange = this.handleChange.bind(this);
}
handleChange(event, index, value) {
this.setState({ value });
}
render() {
const { possibleValues, title, value } = this.props;
return (
<SelectField
autoWidth
floatingLabelText={title}
multiple={false}
value={value}
onChange={this.handleChange}
>
{Object.keys(possibleValues).map(possibleValue => (
<MenuItem
key={possibleValue}
value={possibleValue}
primaryText={possibleValues[possibleValue]}
/>
))}
</SelectField>
);
}
}
MatchPintOwnerFilter.propTypes = {
title: PropTypes.string,
possibleValues: PropTypes.shape(),
newValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
};
MatchPintOwnerFilter.defaultProps = {
title: 'Frequency',
possibleValues: {
0: 'status 0',
1: 'status 1',
2: 'status 2',
3: 'status 3',
4: 'status 4',
5: 'status 5',
},
newValue: '1',
};
export default MatchPintOwnerFilter;