Może ktoś proszę wyjaśnić, jak naprawić ten błądReact Warning: flattenChildren (...): spotykane dwoje dzieci z tym samym kluczem
Warning: flattenChildren (...): spotykane dwoje dzieci z tego samego klucz
Replikowałem mój kod poniżej, ale z jakiegoś powodu CodePen nie pokazuje błędu.
var FilterOptions = React.createClass({
changeOption: function(type, e) {
var val = e.target.value;
this.props.changeOption(val, type);
},
render: function() {
return (
<div className="filter-options">
<div className="filter-option">
<select id="product" name="Product" value={this.props.product} onChange={this.changeOption.bind(this, 'product')}>
<option value=''>Product</option>
{this.props.productOptions.map(function(option) {
return (<option key={option} value={option}>{option}</option>)
})}
</select>
</div>
</div>
);
}
});
jako pytanie wtórnym, jestem całkiem pewny, że moja resetu ma przywrócić Wartości wybranych pól, ale to też nie działa i po prostu resetowania świadczonych rezultaty - nie wiem, czy to jest związany z pierwszym problemem?
Każda pomoc bardzo doceniana
Czy jesteś pewien, że 'ten.props.productOptions' ma unikalne wartości? Jeśli tak, to czy jesteś pewien, że ten kod podaje błąd, a nie gdzieś indziej? –
@MartinMazzaDawson Nie, jest kilka zduplikowanych wartości we wszystkich wybranych menu - dokładny błąd wygląda tak samo - bundle.js: 9899 Ostrzeżenie: flattenChildren (...): Napotkano dwoje dzieci z tym samym kluczem, '1: $ prod3 '. Klucze podrzędne muszą być unikalne; gdy dwoje dzieci ma wspólny klucz, zostanie użyte tylko pierwsze dziecko. –
Czy błąd zniknie, jeśli zmienisz "klucz" na wartość indeksu zamiast "opcji"? – azium