我认为这是一个非常烦人的错误,感觉好像没有解决方案,但我想共享并询问..我从服务器获取数据,从那里获取图像源,并且在我的移动react-native应用程序中使用相同的图像路径。
我这样从服务器获取数据:
$id = $request->userid;
$items = DB::table('item_user')->where('user_id', $id)->latest()->get();
$new = new Collection();
foreach($items as $item){
$new[] = array(
... ,
'picturePath' => 'require'."('./". $item->picturePath ."')"
);
}
return $new;
Run Code Online (Sandbox Code Playgroud)
在前端,我尝试渲染,并在本地保存这些图像。所以当我在本地使用它时:
require('./ images / ...')
它可以工作..但是不能这样工作:
_renderItem = ({item}) => {
return(
<View>
<Image source={ item.picturePath } style={{width: 15, height: 15}}/>
</View>
);
};
render(){
return(
<View>
<FlatList
data={this.state.items}
renderItem={this._renderItem}
keyExtractor={this._keyExtractor}
/>
</View>
);
}
Run Code Online (Sandbox Code Playgroud)
我知道error如何解决这个问题:
警告:道具类型失败:提供给“图片”的道具“源”无效。
我将我的反应版本升级到 56,我已经完成了干净的设置。现在我面临这个问题,我不知道如何解决。
我什至安装了这个https://www.npmjs.com/package/babel-preset-react-native。
error: bundling failed: Error: Cannot find module 'metro-react-native-babel-preset' from 'D:\React\Snap'
at Function.module.exports [as sync] (D:\React\Snap\node_modules\resolve\lib\sync.js:43:15)
at resolveStandardizedName (D:\React\Snap\node_modules\@babel\core\lib\config\files\plugins.js:100:31)
at resolvePreset (D:\React\Snap\node_modules\@babel\core\lib\config\files\plugins.js:57:10)
at loadPreset (D:\React\Snap\node_modules\@babel\core\lib\config\files\plugins.js:76:20)
at createDescriptor (D:\React\Snap\node_modules\@babel\core\lib\config\config-descriptors.js:135:21)
at items.map (D:\React\Snap\node_modules\@babel\core\lib\config\config-descriptors.js:87:50)
at Array.map (<anonymous>)
at createDescriptors (D:\React\Snap\node_modules\@babel\core\lib\config\config-descriptors.js:87:29)
at createPresetDescriptors (D:\React\Snap\node_modules\@babel\core\lib\config\config-descriptors.js:79:10)
BUNDLE [android, dev] ..\..\../index.js ???????????????? 0.0% (0/1), failed.
Run Code Online (Sandbox Code Playgroud)
包.json
{
"name": "SnapHaber",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"react": "16.3.1",
"react-native": "^0.56.0",
"react-native-firebase": "^4.3.0"
},
"devDependencies": { …Run Code Online (Sandbox Code Playgroud) 我正在工作React Native,我用于PHP后端,当我使用 fetchPOST请求时,我收到了很奇怪的错误,我不知道为什么会发生。我检查了网址,所以它工作没有问题,也正常fetch()工作POST,但当我尝试发布它时发生。当我在本地服务器获取工作中尝试它时POST..但是在服务器中,我收到此错误:
错误:com.facebook.react.bridge.ReadableNativeMap 无法转换为 java.lang.String
反应本机代码:
fetch('http://xxx/react_test1', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: inputName,
email: inputEmail,
phone: inputPhone
}),
}).then((response) => response.json())
.then((responseJson) => {
Alert.alert(responseJson);
}).catch((error) => {
alert(error);
});
Run Code Online (Sandbox Code Playgroud)