我正在使用redux-form讓用戶點擊圖片(以激活隱藏的複選框)。一切工作正常,除了我想在點擊圖片時更改css。我使用三元運算符,它應該聽取複選框的值。我遇到的問題是,當組件最初呈現時,productValues.apps [product.name]返回undefined。我嘗試用false設置initialValue,但那也不起作用。我真的不知道如何解決這個問題。下面是複選框:Redux-form:不能使用三元運算符,因爲渲染時對象未定義
{
products.products.map(product => {
return(
<div className={ `col-xs-2 ${productValues.apps[product.name] ? "app-checked" : "app-container"}` }
key={ product.id }>
<label htmlFor={ product.name }>
<img className="app-circle"
src={ product.image } alt={ product.title }
data-toggle="tooltip" data-placement="top" title={ product.title }/>
<Field name={ `apps[${product.name}]` } className="hidden"
component="input" type="checkbox" id={ product.name }/>
</label>
</div>
);
})
}
這裏我用得到的複選框的數據選擇: 常量選擇= formValueSelector(「UserCreationForm」);
UserCreationPageThree = connect(
state => {
const productValues = selector(state, ...state.products.products.map(product => `apps[${product.name}]`));
return { productValues }
}
)(UserCreationPageThree)
這完全奏效。謝謝。但我不明白爲什麼它不會在這裏丟失相同的錯誤。我的意思是,渲染時,productValues.apps [product.name]仍然應該是未定義的。爲什麼他不打擾這種綜合條件?你會如此善意解釋嗎? – Gh05d
我編輯我的答案一點。我希望你能理解。 –
Thx爲解釋。非常感謝您的努力。 – Gh05d