这是我首次尝试创建react native项目(也带有redux),我有一个与传递信息有关的问题。我有一个看起来像这样的API:
override func encode(with coder: NSCoder) {
coder.encode(clickCount, forKey: "clickCount")
}
required init?(coder: NSCoder) {
super.init(coder: coder)
clickCount = coder.decodeObject(forKey: "clickCount") as? [Int] ?? [Int]()
}
每个“模块”都有许多主题。我希望模块显示在一个屏幕上,并且希望每个课程的主题在单击按钮后出现。到目前为止,我已经知道了:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if let vc = storyboard?.instantiateViewController(identifier: "Detail") as? DetailViewController {
vc.selectedImage = pictures[indexPath.row]
vc.totalPictures = pictures.count
vc.selectedPictureNumber = (pictures.firstIndex(of: vc.selectedImage ?? "Error") ?? 0) + 1
clickCount[indexPath.row] += 1
navigationController?.pushViewController(vc, animated: true)
}
}
这只是一个片段,但我想知道如何传递有关该类的特定信息,以便可以检索其中包含的所有主题并将它们显示在下一个屏幕上。任何指针都很棒!谢谢!
答案 0 :(得分:0)
我想您是在问如何将“参数”传递到导航路线,是的,确实渲染了可以从导航路线参数接收道具的组件。
就您而言,
this.props.navigation.navigate('Topics')
应更改为;
this.props.navigation.navigate('Topics', {id:item.id})
导航到“主题”路线后,该组件将能够从中读取“ id”值;
props.route.params.id
路由参数将是在this.props.navigation.navigate
方法中路由名称之后传递的任何对象。