【问题标题】:failed to display user's data in react native无法在本机反应中显示用户的数据
【发布时间】:2018-10-15 09:01:26
【问题描述】:

我正在用 react native CRNA 构建一个应用程序,在调用注册用户的个人资料图片后出现此错误。

对require 的调用期望恰好有 1 个字符串字面量参数,但这 被发现:require(this.state.pict)

我有点困惑如何从 API 调用用户信息项。这是我获取用户数据的代码。

fetch('someurl', {
            method: 'GET',
            headers:{
                Authorization: 'token',
            }
        })
        .then((response)=> response.json())
        .then((responseJson)=> {
            this.setState({
                students: responseJson.data,
                loading: false,
            })
        })
        .catch((error)=>{
            console.log(error);
        });

我将该代码放在componentDidMount() 上并在图像源中调用this.state.pict,但得到了先前的错误。有人可以告诉我有什么问题吗?我被卡住了..非常感谢。

【问题讨论】:

    标签: image api react-native profile


    【解决方案1】:

    React-native 支持两种类型的图像源,本地和网络。

    对于您使用 require 的本地资源。例如:

    <Image source={require('main/assets/images/your-image.jpg')}/>
    

    对于网络资源,您必须使用 uri 对象。例如:

    <Image source={{uri:'https://imgur.com/gallery/Fepmd4K'}/>
    

    请注意,本地图像的源接受带有作为参数传递的字符串的 require,而网络图像的源需要带有 uri 参数的对象。

    您可以在这里阅读更多内容:https://facebook.github.io/react-native/docs/images

    关于您的问题,首先尝试console.logthis.state.pic 并查看它的格式并将其与上述示例匹配,它应该可以工作。

    【讨论】:

    • 哦,非常感谢您的回复。我刚刚通过在console.log 上调用它发现图片为空。这是原因吗?但我试图只显示 &lt;View&gt;&lt;/View&gt; if this.state.pict == null || this.state.pict == "" 并得到同样的错误
    • 如果里面没有任何东西,View 不会渲染任何东西。尝试将 your text 放入其中以检查这是否正确,但它可能是。另外,请尝试记录this.state.students,这似乎是您保存响应数据的地方。
    • 哦,不。我尝试控制台记录this.state.students,但一无所获。是因为我在保存响应数据时出错了吗?
    • 记录每一步,看看是否正确。 response.json() 是否返回有效的东西?如果是,您应该在 this.state.students 中有一些东西,从那里开始并进一步工作。我不确定你在哪里获取这个,所以它是否正确触发,你是否发送了正确的请求?
    猜你喜欢
    • 1970-01-01
    • 2017-07-28
    • 2021-12-08
    • 2020-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多