У меня есть JSON-файл, который мое приложение извлекает из API
. Он содержит имя и другую информацию вместе с изображением в кодировке b ase64
[ { meta: { views: 0, tapped: 0, favs: 0, priority: 0 },
img: { data: [Binary] },
special: true,
_id: 5cace9fbeb520a4d8833bc1b,
date: 2019-04-09T00:00:00.000Z,
title: 'Test',
url: 'http://goole.com',
body: 'Oh it chaned',
published: false,
category: 'Sports',
location: 'dafasfasf',
__v: 0,
publishDate: 2019-04-09T18:30:00.000Z,
subCategory: 'Footabll' },
{ meta: { views: 0, tapped: 0, favs: 0, priority: 0 },
img: { data: [Binary] },
special: true,
_id: 5cacf8e54b578827e8425c83,
date: 2019-04-02T00:00:00.000Z,
title: 'Testasd',
url: 'http://google.com',
body: 'wadwadwad',
published: false,
category: 'Sports',
location: 'Random',
subCategory: 'Footabll',
__v: 0,
publishDate: 2019-04-09T18:30:00.000Z },
Это выглядит примерно так
Я не могу отобразить изображение в собственном реактиве
Я получаю Объекты недействительны как объект, обнаруженный React Child с ключами {data}. Я понимаю, что это объект, поэтому эта ошибкапроисходит, но я не могу найти решение для этого (оно говорит мне повторять каждый ключ, пока я хочу получить доступ к определенному ключу).
это функция, которую я вызываю внутри render
viewfunc(){
return(
this.state.dataSource.map((item)=>{
return(
< View key={Math.random()} style={styles.slide3}>
<Text style={styles.text}>{item.title}</Text>
<Image
style={{
width: 51,
height: 51,
resizeMode: 'contain',
}}
source={{
uri:
'data:image/png;base64,${item.img.data}',
}}
/>
<Text style={styles.body}>{item.body}</Text>
</View>)
}
))}
))}
Я не могу отобразить это изображение, а также, если я пытаюсь напечатать base64, поместив {item.img.data}
в текстовое поле, возвращающие Объекты недействительны .. ошибка Я могу получить доступ к мета с {item.meta.views}
Пожалуйста, мне нужна помощь!
edit
Вот как я кодирую его при отправке изображения в базу данных
var newImg = fs.readFileSync(req.file.path);
var encImg = newImg.toString('base64');
Пробовал тоже
<Image
style={{
width: 51,
height: 51,
}}
source={{
uri:
`data:image/png;base64,`+item.img.data,
}}
/>
Ещене рендеринг ..