所以我试图使用React Native的FlatList renderItem属性,但是发生了一些非常奇怪的事情.
该data属性设置为一个数组,其中包含未定义的元素,但是,在renderItem函数中,它给出了一个错误,指出函数的参数是未定义的,除非我调用参数item.
这是我的代码:
export default class Profile extends React.Component {
onLearnMore = (user) => {
this.props.navigation.navigate('UserDetail', user)
}
render() {
return (
<List>
<FlatList
data={data.users}
renderItem={( {item} ) => {
console.log(item)
return (<ListItem
roundAvatar
title={`${item.fName} ${item.lName}`}
onPress={() => this.onLearnMore(item)}
/>)
}}
/>
</List>
)
}
}
Run Code Online (Sandbox Code Playgroud)
如果我换{item}了{userData},那么userData以后在函数中将是未定义的.有谁知道为什么会这样?
我知道这可能听起来有点愚蠢,但是我可以使用 node-cron 创建两个 crone 作业以在一周中不连续的两天运行吗?我是否需要调用两个 CronJob 函数,或者有没有办法只使用一个?
因此,我正在使用 socket.io 构建一个简单的聊天室应用程序,它在我的本地主机上运行良好。
当我将其部署到 Heroku 时,问题就出现了:然后 sockets.io 不再工作。
我在论坛上查看了类似的问题并尝试了不同的解决方案,但无法解决问题。你可以帮帮我吗?
这些是我最新版本的heroku日志,它们甚至没有显示我在程序中设置的发送消息时的console.log()(我不知道这是否正常):
2017-02-13T18:09:43.330870+00:00 app[web.1]: > node server.js
2017-02-13T18:09:43.330870+00:00 app[web.1]:
2017-02-13T18:09:43.996962+00:00 heroku[web.1]: State changed from starting to up
2017-02-13T18:09:43.959778+00:00 app[web.1]: Option match origin protocol is not valid. Please refer to the README.
2017-02-13T18:09:43.967627+00:00 app[web.1]: Server running on port 17411
2017-02-13T18:09:59.643406+00:00 heroku[router]: at=info method=GET path="/chat/" host=gagliachat.herokuapp.com request_id=e2c5a
44f-0e95-4bbb-b3be-77140713a355 fwd="93.65.75.16" dyno=web.1 connect=1ms service=104ms status=200 bytes=1413
2017-02-13T18:09:59.771747+00:00 heroku[router]: at=info method=GET path="/chat/index.js" host=gagliachat.herokuapp.com request_
id=e11067f0-b3b6-42f6-8ba4-aea436281a5d fwd="93.65.75.16" dyno=web.1 connect=0ms service=30ms status=200 bytes=1350
2017-02-13T18:10:02.096025+00:00 heroku[router]: at=info method=GET path="/chat/" host=gagliachat.herokuapp.com …Run Code Online (Sandbox Code Playgroud) javascript ×3
node.js ×2
heroku ×1
node-cron ×1
react-native ×1
socket.io ×1
sockets ×1
undefined ×1