[英]something wrong with redux-form in React Native
所以我現在已經開了幾天了......
問題是我無法以React-native redux形式打印預填表格的當前值。
我已經嘗試了很多方法來簡單地打印出值,但它發現它們是“未定義的”就是這樣。
這是一些代碼。 這就是我顯示表單的方式:
render(){
const {data} = this.props
return(
<View>
<ScrollView style={styles.container}>
<QuestionnaireItem title={Strings.en.fewWords}>
<Field name={"fewWords"}
component={TextInput}
style={styles.fewWords}
defaultValue={data.few_words}
multiline={true}/>
</QuestionnaireItem>
<!-- ... -->
這是如何實現表單並嘗試在狀態到道具映射器中打印它:
let QuestionnaireFormRF = reduxForm({
form: 'QuestionnaireForm'
})(QuestionnaireFormComponent);
function mapStateToProps(state) {
const selector = formValueSelector('QuestionnaireForm')
const {
fewWords,
familyState,
kidsQuantity
} = selector(state, "fewWords", "familyState", "kidsQuantity")
console.log(">>> " + fewWords)
return {
fewWords,
familyState,
kidsQuantity
}
}
QuestionnaireFormRF = connect(mapStateToProps)(QuestionnaireFormRF)
export default QuestionnaireFormRF
而且,如果有幫助,這就是調用此組件的方式。
const tabArray = [
{
title: Strings.en.questionnaire,
component: QuestionnaireForm,
props: {}
},
{
title: Strings.en.questionnaireForPartner,
component: QuestionnaireForPartnerForm,
props: {}
}
]
export default class QuestionnaireScreen extends Component {
constructor(props){
super(props)
}
componentWillMount(){
tabArray[0].props = { data: this.props.data, navigator: this.props.navigator }
tabArray[1].props = { data: this.props.data, navigator: this.props.navigator}
}
render(){
return(
<TopTabsMulti tabs={tabArray} openTab={0}/>
)
}
}
我有點擔心上面的實現會搞亂redux架構,但到目前為止沒有找到確鑿的證據。
因此,正如我所說的,我無法以任何方式檢索當前值,並且console.log打印“>>> undefined”,盡管應用程序值已正確填充,甚至可以從props中正確檢索。
顯然,您可以通過調用Navigation onChange()(表單組件中的this.props.input.onChange())函數來觸發值建立。 它應該在componentwillmount()方法中調用(至少它可以幫助我,也許有更好的函數來調用)並且每次都有實際的變化。 這樣就形成了價值,可以正確選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.