Javascript 将值输入到本机svg uri中
您好,我正在尝试在React Native中向SVG URI输入一个值,如下所示:Javascript 将值输入到本机svg uri中,javascript,react-native,Javascript,React Native,您好,我正在尝试在React Native中向SVG URI输入一个值,如下所示: source={require('../tasks/images/' + {task.image} + '.png')} 我目前正在迭代一个对象数组,并输出每个对象的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”]
返回(
)
}
}
导出默认组件;
但是,如果您确实需要传递动态图像源,那么您可以使用这样的包,它允许您作为图像源传递变量,我不推荐这种方法,除非您完全没有其他方法来解决这个问题