const DetailedSearchScreen=({ navigation })=> { const mydefauthor='no'; const mydeftitle='data'; var [dataset, setDataset]=useState({data:[{Author:'Deneme', Title:'yapiyorum'}]}); return ( <ScrollView contentContainerStyle={styles.container}> <TextInput onChangeText={text=>det_author=text} placeholder="Enter Author" style={styles.item_style} onClick={()=>{ console.log(dataset, "You are the hero!"); }}/> <TextInput onChangeText={text=>det_keyword=text} placeholder="Enter Keyword" style={styles.item_style}/> <TextInput onChangeText={text=>det_year=parseInt(text)} placeholder="Year" style={styles.item_style}/> <TextInput onChangeText={text=>det_sub_date=text} placeholder="Enter Submission Date As Year-Month-Day" style={styles.item_style}/> <TouchableOpacity onPress={()=>{ var data_=make_search(); console.log("Data info: ",dataset); var item={}; item['data']=data_; setDataset(Object.assign({...dataset, ...item})); console.log(dataset, "Yine mi olmadı be"); }} style={styles.button}><Text>Search</Text></TouchableOpacity> <View> { dataset['data'].map((item, key)=>{ console.log(item); return( <Text>{item['Author']}</Text> ); })} </View> </ScrollView> ); }parte del código es así, cuando leo el resultado de console.log, muestra que el estado ha cambiado pero mis componentes mapeados desaparecen cuando actualizo el estado
No ingresó su accesorio clave en el elemento Texto. Deberías
<Text key={key}> ... </Text>También aquí está utilizando el índice de matriz como clave y podría causar errores.
Debe usar algo que sea único para esos datos y que no cambie (título o autor si son únicos e inmutables).
La mejor opción sería tener una identificación única.