React JSとBabelとWebpackを使用しています。React JSでカラーコントロールを使用する際の警告
The specified value "" does not conform to the required format. The format is "#rrggbb" where rr, gg, bb are two-digit hexadecimal numbers.
私のコードは次のとおりです。:
import React from 'react';
class EditDetails extends React.Component {
constructor(props) {
super(props);
this.state = {
bg: "#ffffff"
};
}
handleChange(event) {
const target = event.target;
const value = target.type === 'checkbox' ? target.checked : target.value;
const id = target.id;
this.setState({
[id]: value
});
}
render() {
return (
<div>
<form>
<div>Background Colour:<input id="bg" type="color" onChange={this.handleChange.bind(this)} value="#dddddd" /></div>
</form>
</div>
)
}
}
export default EditDetails;
もしすべてが私の他のスクリプトカラーモジュールを使用するものも含め、しかし、私のスクリプトのいずれかは私に次のエラーを与えているとうまく働いています私はvalue="#dddddd"
を私の入力タグから削除します。実際には同じエラーメッセージを2度与えます。誤差基準がReactDOMInput.jsの次のセクションに私を指し、さらに調査すると
は、:
switch (props.type) {
case 'submit':
case 'reset':
break;
case 'color':
case 'date':
case 'datetime':
case 'datetime-local':
case 'month':
case 'time':
case 'week':
// This fixes the no-show issue on iOS Safari and Android Chrome:
// https://github.com/facebook/react/issues/7233
node.value = '';
node.value = node.defaultValue;
break;
default:
node.value = node.value;
break;
}
Iはvalue
を削除すると具体的には、最初node.value
ライン(又は最初の二つnode.value
行を参照され属性)。
カラーコードを正しい16進数形式にしていると、このエラーが発生するのはなぜですか?
注:実際には、正しい色がカラーコントロールで正しく設定されているように見えます。
'this.setState({[ID]:'#$ {値} '}); 'または#で色を書き込みます。 –
@RafaelBerroこれは、カラーコントロールが#記号を提供するので、正しいとは思われません。また、初期レンダリング時にエラーが発生し、その後の値の変更では発生しません。 – kojow7
どこにbgの状態を適用していますか? –