Redux kullanıyorum, ListView'e abone oldum, konsol günlüğü iletisi görüntülenir, ancak ekran sıcak bir yeniden yüklemeden sonra güncellenmez. ListView'in neden yeni Todo'yu ekranda çizemeyeceği hakkında bir fikrin var mı?ListView yalnızca yeniden yüklendikten sonra yeniden işleniyor
render() {
var store = getStore();
var todos = store.getState().todos;
var dataSource = this.dataSource.cloneWithRows(todos);
console.log("Rendering: ", jtodos);
return (
<View>
<Text>Todos to do</Text>
<ListView
dataSource={dataSource}
renderRow={this.renderTodo}
style={styles.listView}/>
</View>
);
}
Ben de ....
renderTodo(todo) {
console.log("Render:", todo);
return (
<View style={styles.container} key={todo.id}>
<View style={styles.details}>
<View style={styles.rightContainer}>
<Text style={styles.title}>{todo.text}</Text>
</View>
</View>
</View>
);
}
render() {
var store = getStore();
var todos = store.getState().todos;
console.log("Rendering: ", todos);
var dataSource = this.dataSource.cloneWithRows(todos);
return (
<View>
<Text>Todos to do</Text>
{todos.map(this.renderTodo)}
</View>
);
}
konsol günlüğü sıcak yeniden yükleme sonrasına kadar ortaya DEĞİLDİR yenisi dahil TÜM todos gösterir kod değiştirdik
Ekran neden todo'yu göstermiyor?
Rendering: [Object, Object, Object, Object, Object, Object, Object]
Render: Object {text: "fghf", id: 1, completed: false}
Render: Object {text: "fghfbhhg", id: 2, completed: false}
Render: Object {text: "fghfbhhggfjg", id: 3, completed: false}
Render: Object {text: "fghfbhhggfjg", id: 4, completed: false}
Render: Object {text: "fghfbhhg", id: 5, completed: false}
Render: Object {text: "fghfbhhgkkkk", id: 6, completed: false}
Render: Object {text: "f", id: 7, completed: false}
Bunların hiçbiri sıcak bir yeniden yüklenene kadar ekranda görünmez. Sıcak bir yeniden yükleme sonrasında eklenen herhangi bir sonraki sıcak yeniden yüklemeye kadar gösterilmez.
Garip reaksiyona ayarlayın. Öyleyse her şey son nesne hakkı dışında işler (metin: f, id: 7, ...) '? – James111
Aslında, sıcak yeniden yükleme gerçekleşene kadar hiçbir şey gerçekleşmez, sonra her şey işlenir. AMA konsolu her zaman onları tüm render. – boatcoder
"this.dataSource", "render" yönteminizde ne ifade ediyor? –