を見ました:三項演算子は、条件の基本に値を返すので警告は、代入や関数呼び出しを期待し、私はこのラインを使用する場合代わりに表現
warning Expected an assignment or function call and instead saw an expression:
を見ました:三項演算子は、条件の基本に値を返すので警告は、代入や関数呼び出しを期待し、私はこのラインを使用する場合代わりに表現
warning Expected an assignment or function call and instead saw an expression:
:
this.state.selectedJobType.length > 0 ?
''
:
this.setState({ jobTypeErrMsg: 'Please select at least one job type'});
それはエラーをスローします、あなたは状態を更新するために三項演算子を使用しているので、その理由があります。
condition ? expr1 : expr2;
三項演算子は式を実行する[関数呼び出しまたは直接任意の値できるいくつかの値にもたらすべきである式期待]とその式の結果を返すことを。
使用このように、代わりに三項演算子の条件の場合:
if(this.state.selectedJobType.length)
this.setState({ jobTypeErrMsg: 'Please select at least one job type'})
三項演算子は、このように、条件に基づいて値を割り当てるために動作します:
let a = 0==0 ? 1 : 0;
それとも、それを使用することができますconditional rendering
のJSX内では、次のようになります。
<div>{ 0==0 ? 'true' : 'false' }</div>
条件に基づいてTHER機能:
1==1 ? a() : b();
DOCs:
Returns one of two expressions depending on a condition. If condition is true, the operator returns the value of expr1; otherwise, it returns the value of expr2.