Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将值输入到本机svg uri中_Javascript_React Native - Fatal编程技术网

Javascript 将值输入到本机svg uri中

Javascript 将值输入到本机svg uri中,javascript,react-native,Javascript,React Native,您好,我正在尝试在React Native中向SVG URI输入一个值,如下所示: source={require('../tasks/images/' + {task.image} + '.png')} 我目前正在迭代一个对象数组,并输出每个对象的SVG,所以我想这样做,但语法不被接受 欢迎任何帮助或建议 在这里,您不能传递动态图像路径,该路径在本地可用作为您的资产。 此外,如果您有来自服务器的图像URI,那么您可以在这里提供,它将像一个符咒一样工作。但是对于本地存在的图像路径,您必须提供

您好,我正在尝试在React Native中向SVG URI输入一个值,如下所示:

source={require('../tasks/images/' + {task.image} + '.png')} 
我目前正在迭代一个对象数组,并输出每个对象的SVG,所以我想这样做,但语法不被接受


欢迎任何帮助或建议

在这里,您不能传递动态图像路径,该路径在本地可用作为您的资产。
此外,如果您有来自服务器的图像URI,那么您可以在这里提供,它将像一个符咒一样工作。但是对于本地存在的图像路径,您必须提供实际路径。你能读的更多

但是,您可以根据条件为路径提供嵌套if-else,但是请注意,您还必须提供完整路径

示例:-

source={this.state.data===1?require('../tasks/images/image1.png'):this.state.data===2?require('../tasks/images/image2.png'):require('../tasks/images/image3.png')} 

谢谢……希望能有所帮助:)

在这里,您不能传递动态图像路径,该路径在本地可用,您可以使用。
此外,如果您有来自服务器的图像URI,那么您可以在这里提供,它将像一个符咒一样工作。但是对于本地存在的图像路径,您必须提供实际路径。你能读的更多

但是,您可以根据条件为路径提供嵌套if-else,但是请注意,您还必须提供完整路径

示例:-

source={this.state.data===1?require('../tasks/images/image1.png'):this.state.data===2?require('../tasks/images/image2.png'):require('../tasks/images/image3.png')} 

谢谢…希望有帮助:)

因为无法动态地将字符串传递给
require
,所以您可以拥有一个引用您需要的每个图像的图像收集文件,例如:

使用以下内容创建文件
ImageCollection.js

export default imageCollection={
    "1": require("./image1.png"),
    "2": require("./image2.png"),
    "3": require("./image3.png"),
    "4": require("./image4.png")
}
然后将其导入需要图像的文件中,并执行以下操作:

import Images from './ImageCollection.js';

class YourComponent extends Component {

    renderItem = ({item}) => (
        <View>
            <Text>Image: {item}</Text>
            <Image source={Images[item]}/>
        </View>
    );

    render () {
        const data = ["1","2","3","4","5"]
        return (
            <FlatList data={data} renderItem={this.renderItem}/>
        )
    }
}

export default YourComponent;
从“/ImageCollection.js”导入图像;
类YourComponent扩展组件{
renderItem=({item})=>(
图像:{item}
);
渲染(){
常量数据=[“1”、“2”、“3”、“4”、“5”]
返回(
)
}
}
导出默认组件;

但是如果您确实需要传递动态图像源,那么您可以使用这样的包,它允许您将变量作为图像源传递,我不推荐这种方法,除非您完全没有其他方法来解决此问题。

因为无法使字符串动态传递到
require
,您可以有一个图像收集文件,该文件引用您需要的每个图像,例如:

使用以下内容创建文件
ImageCollection.js

export default imageCollection={
    "1": require("./image1.png"),
    "2": require("./image2.png"),
    "3": require("./image3.png"),
    "4": require("./image4.png")
}
然后将其导入需要图像的文件中,并执行以下操作:

import Images from './ImageCollection.js';

class YourComponent extends Component {

    renderItem = ({item}) => (
        <View>
            <Text>Image: {item}</Text>
            <Image source={Images[item]}/>
        </View>
    );

    render () {
        const data = ["1","2","3","4","5"]
        return (
            <FlatList data={data} renderItem={this.renderItem}/>
        )
    }
}

export default YourComponent;
从“/ImageCollection.js”导入图像;
类YourComponent扩展组件{
renderItem=({item})=>(
图像:{item}
);
渲染(){
常量数据=[“1”、“2”、“3”、“4”、“5”]
返回(
)
}
}
导出默认组件;
但是,如果您确实需要传递动态图像源,那么您可以使用这样的包,它允许您作为图像源传递变量,我不推荐这种方法,除非您完全没有其他方法来解决这个问题