React Native JSON NSDictionary类型的值无法转换为NSString

时间:2016-11-27 21:13:19

标签: javascript json react-native

我正在努力开发A React Native(版本0.38.0)应用程序的问题。我基本上就是在学习。

我从自定义API端点获取JSON。我设法循环访问JSON并输出一些数据,但问题是string链接到图像。我一直收到错误:

JSON Value of { robj = "https://example.com/img.jpg" } type NSDictionary Cannot be converted to NSString.

在谷歌周围有一个侦察员,我无法看到问题的头脑和尾巴。

有人可以指出我正确的方向吗?

var api = {
  getData() {
    var url = 'https://example.com/api/json/'
    return fetch(url).then((res) => res.json())
  }
}

class GetCategories extends Component {
  constructor(props) {
    super(props)
    this.state = {
      categories: []
    }
  }

  componentWillMount() {
    api.getData().then((res) => {
      this.setState({
        categories: res
      })
    })  
  }

  render() {
    var catLoop =this.state.categories.map(function(obj, index){
      var catTitle = '',
          catImage = '';

      catTitle = obj.title;
      catImage = obj.image;

      return (
        <View key={index}>
          <Image source={{uri: {catImage}}} style={{width: 400, height: 400}}>
            <Text>{catTitle}</Text>
          </Image>
        </View>
      )

    });

    return <View>{catLoop}</View>
  }
}

1 个答案:

答案 0 :(得分:5)

这应该解决你的问题...

<Image source={{uri: catImage}} style={{width: 400, height: 400}}>
     <Text>{catTitle}</Text>
</Image>