RctRootView作为UITableViewCell的子视图复用问题



  • 一、目前状态
    1、我们想实现在原生UITableView中插入RN的cell
    2、通过[cell addSubView:rctRootView]可以实现
    3、但是在cell复用时,涉及到JS中的state问题,native理解JS中的state是存在rctRootView中的,导致rctRootView复用时state是上一条数据的state,并不是我们想要的结果。
    二、问题
    1、怎么通过Native设置JS中的state(我要把state保存到对应的native 的itemData中)
    2、怎么通过JS设置Native 中itemData的state,使得双方的数据同步。

    多谢大神指点~!有什么思路也请赐教~!



  • 路过的前辈也提提意见,我是RN小白~!多谢~!



  • 1、已经通过RCTBridgeModule方式 JS调用Native改变数据,Native重新设置rctRootView.appProperties.
    2、但cell复用过程中,会偶尔出现rctRootView.appProperties 与要设置内容相同的情况,导致rootViewDidChangeIntrinsicSize 回调函数不会被调用。cell高度不会正常变化。