1
私はナビゲーションネイティブルータフラックスを使用しています。私はシーン内のデータの配列を取得し、コンポーネントを使ってscrollViewにレンダリングしています。そのコンポーネントには、そのデータの削除メソッドがあります。ユーザーがデータを削除すると、シーンをリロードして新しいデータを取得してレンダリングする必要があります。現在のシーンを再ロードするにはどうすればいいですか?Reactネイティブルータフラックスは現在のシーンをリロードします
これはレンダリング用のコードです。
<ScrollView style={styles.topContainer}>
<Header headerText={'Tasks'} />
{this.renderTasksDetails()}
<View style={styles.container}>
<AddButton onPress={() => Actions.addTasks({ text: this.props.text })}> + </AddButton>
</View>
</ScrollView>
そしてrenderTaskDetail機能
return this.state.tasks.map(task =>
<TaskDetail key={task.metin} task={task} text2={this.props.text} />);
私はデータの配列を有することを特徴とするように、私は別のコンポーネント(TaskDetail)にマッピング理由のthats。
他のコンポーネントのdeleteメソッドを取得した後、リフレッシュのためにActionsを呼び出します。
fetch(URL, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded';
},
body: formBody
}).then((response) => response.json())
.then((responseJson) => {
console.log(responseJson);
console.log(responseJson.stat);
if (responseJson.stat === 'ok') {
Actions.refresh({ text: text2 });//What to do for reload
}
現在のシーンを更新するにはどうすればよいですか?私は同じ場面に行きましたが、私はすでにその場面にいるので何もしません。
編集:router.js
<Scene key="main">
<Scene key="tasks" hideNavBar={true} component={Tasks} initial />
<Scene key="addTasks" component={AddTask} title='Task Create' />
</Scene>
は、あなたの迅速な返信いただきありがとうございます。それはシーンをただ一回リロードしています。私は2つの行を削除した後。最初のプレスはシーンリロードを引き起こしていますが、2回目のプレスはありません。 –
@ K.Smithあなたはあなたのオブジェクトにどのような鍵を入れましたか? ({:「タスク」、テキスト:キーテキスト2}) –
私はあなたが質問 –