Slide 14
Slide 14 text
public typealias ReactProps = [String : AnyObject]
class ReactViewController: UIViewController {
var screenName: String?
var props: ReactProps?
convenience init(screenName: String, props: ReactProps? = nil) {
self.init(nibName: nil, bundle: nil)
self.props = props
}
override func viewDidLoad() {
super.viewDidLoad()
populateReactView()
}
private func populateReactView() {
guard let reactView = RCTRootView(bridge: ReactNative.shared.bridge, moduleName: screenName, initialProperties: nil) else { return }
view.addSubview(reactView)
reactView.translatesAutoresizingMaskIntoConstraints = false
if #available(iOS 11.0, *) {
let guide = self.view.safeAreaLayoutGuide
reactView.trailingAnchor.constraint(equalTo: guide.trailingAnchor).isActive = true
reactView.leadingAnchor.constraint(equalTo: guide.leadingAnchor).isActive = true
reactView.topAnchor.constraint(equalTo: guide.topAnchor).isActive = true
reactView.bottomAnchor.constraint(equalTo: guide.bottomAnchor).isActive = true
}
}