我正在研究使用React.js为项目创建一个小型Twilio应用程序。我相当擅长React和JavaScript(但不是专家),但我遇到了一些麻烦。
最初,我正在尝试将帐户中的所有邮件加载到网页。这是我的代码:
import React from 'react'
import {connect} from 'react-redux'
var accountSid = '####';
var authToken = "####";
var client = require('twilio')(accountSid, authToken);
var msgList = []
const messages = () => {
client.messages.list(function(err, data) {
data.messages.forEach(function(message) {
msgList.push(message)
});
})
return msgList
}
class LandingPage extends React.Component {
render() {
return (
<h1>Hello!</h1>
)
}
}
export default connect(select)(LandingPage)
(当然,还有更多的文件,但这是我当前正在处理的问题)。
首先,当我在浏览器中加载它时,我在控制台中收到错误:
Uncaught TypeError: querystring.unescape is not a function
这显然与client.messages.list(function(err, data) {
行有关。
另外,我将如何渲染每个message.body
?我想我必须使用for
循环,但我不确定它会在哪里。
答案 0 :(得分:3)
您尝试使用的库是为Node.js编写的,我假设您尝试在浏览器或React Native中使用它?几位:
您不应将来自客户端应用程序的Twilio API与您的帐户SID和身份验证令牌一起使用。这些凭据是Twilio帐户的“王国钥匙”,如果您将它们放在任何客户端应用程序中,可能会受到损害。
您尝试使用的模块是为Node.js编写的,可能无法在浏览器中开箱即用。我还没有对它进行过测试,但是如果你打算以这种方式封装你的前端代码,它可能适用于Browserify。
对于您尝试实现的用例,我会在您的服务器上获取消息,并通过Ajax将它们发送到客户端,而不是直接从客户端访问API。