Index.ios.js -> Index.js для реакции-реле Супер-выражение должно быть либо нулевым, либо функцией
Я учусь повторять и реагировать следующим образом: http://www.mot.la/2016-05-08-getting-started-with-react-native-and-relay.html
В примере используется Index.ios.js, который устарел и теперь использует Index.js. Однако у меня есть некоторые проблемы с моим импортом... Я думаю,
Unhandled JS Exception: Super expression must either be null or a function, not undefined
мой файл Index.js
// Note: I noticed that you imported Component from the wrong place. That might also be contributing to your issue so I fixed it here.
import React, { Component } from 'react';
import Relay, {
Route,
RootContainer,
DefaultNetworkLayer
} from 'react-relay'
// Relay.injectNetworkLayer(new DefaultNetworkLayer('http://localhost:3000/graphiql'))
class UserRoute extends Route {
static paramDefinitions = {
userID: { required: true }
}
static queries = {
user: () => Relay.QL`
query {
user(id: $userID)
}
`
}
static routeName = 'UserRoute'
}
class UserInfo extends Component {
render () {
const user = this.props.user
return (
<Text>email: {user.email}</Text>
)
}
}
UserInfo = Relay.createContainer(UserInfo, {
fragments: {
user: () => Relay.QL`
fragment on User {
id,
email
}
`
}
})
class RelayApp extends Component {
render () {
return (
<View style={styles.container}>
<Text style={styles.welcome}>
Welcome to React Native!
</Text>
<Text style={styles.instructions}>
To get started, edit index.ios.js
</Text>
<Text style={styles.instructions}>
Press Cmd+R to reload,{'\n'}
Cmd+D or shake for dev menu
</Text>
<RootContainer
Component={UserInfo}
route={new UserRoute({userID: '1'})}
renderFetched={(data) => <UserInfo {...this.props} {...data} />}
/>
</View>
)
}
}
Любая помощь будет оценена