Arrays 是否在样式数组中反应本机映射数组对象?
我已经试着解决了好几个小时了,但没有成功。 除了样式数组之外,其他一切都可以工作。不确定如何在样式数组中包含映射的数组对象 错误:失败的道具类型:无效的道具。样式Arrays 是否在样式数组中反应本机映射数组对象?,arrays,react-native,styles,Arrays,React Native,Styles,我已经试着解决了好几个小时了,但没有成功。 除了样式数组之外,其他一切都可以工作。不确定如何在样式数组中包含映射的数组对象 错误:失败的道具类型:无效的道具。样式 因此,样式数组中的每个元素必须是对象或样式表。大概是这样的: style = StyleSheet.create({ navTxt: { color: 'red' } }) <Text style={ [ style.navTxt, { label: x.label } ] }> {x.label} </Text&
因此,样式数组中的每个元素必须是对象或样式表。大概是这样的:
style = StyleSheet.create({ navTxt: { color: 'red' } })
<Text style={ [ style.navTxt, { label: x.label } ] }> {x.label} </Text>
样式数组中的每个元素必须是对象或样式表。大概是这样的:
style = StyleSheet.create({ navTxt: { color: 'red' } })
<Text style={ [ style.navTxt, { label: x.label } ] }> {x.label} </Text>
老实说,这对我来说很奇怪,但我认为这就是你想要实现的 更新: 有一个解决方法,你可以这样做,如下
render() {
const navTabs = [
{ label: 'Home' },
{ label: 'Next' },
];
const styles = {
Home: {
color: 'rgb(255, 0, 0)',
},
Next: {
color: 'rgb(0, 0, 0)',
},
navTxt: {
backgroundColor: 'rgb(0, 255, 0)',
},
};
return (
{navTabs.map(x =>
<TouchableOpacity key={x.label} onPress={() => {}}>
<Text style={{ ...styles.navTxt, ...styles[x.label] }}> {x.label} </Text>
</TouchableOpacity>
)}
);
}
老实说,这对我来说很奇怪,但我认为这就是你想要实现的 更新: 有一个解决方法,你可以这样做,如下
render() {
const navTabs = [
{ label: 'Home' },
{ label: 'Next' },
];
const styles = {
Home: {
color: 'rgb(255, 0, 0)',
},
Next: {
color: 'rgb(0, 0, 0)',
},
navTxt: {
backgroundColor: 'rgb(0, 255, 0)',
},
};
return (
{navTabs.map(x =>
<TouchableOpacity key={x.label} onPress={() => {}}>
<Text style={{ ...styles.navTxt, ...styles[x.label] }}> {x.label} </Text>
</TouchableOpacity>
)}
);
}
现在的错误是:提供给text的props.style键'label'无效好吧,我写这个是为了一个例子。您必须从可用列表中选择所需的值:一些是fontSize或fontWeight。样式数组中${x.label}的等效语法是什么?我不太明白你的推荐信。两种样式将是Text style={[one,two]},但在本例中,第二种样式是从.map函数中插入的。要从可用列表中选择所需的值…抱歉,我不理解您的意思${x.label}-它是什么?它不是文本样式!这是一根绳子。U对象如下:object.assignnavTxt,“Home”。但这是错误的,没有字符串,只有对象。你想要什么?我不明白现在的错误是:提供给文本的props.style键'label'无效好吧,我写这个是为了一个例子。您必须从可用列表中选择所需的值:一些是fontSize或fontWeight。样式数组中${x.label}的等效语法是什么?我不太明白你的推荐信。两种样式将是Text style={[one,two]},但在本例中,第二种样式是从.map函数中插入的。要从可用列表中选择所需的值…抱歉,我不理解您的意思${x.label}-它是什么?它不是文本样式!这是一根绳子。U对象如下:object.assignnavTxt,“Home”。但这是错误的,没有字符串,只有对象。你想要什么?我不理解我也应该包括navTxt样式,以确定是否需要[navTxt,x.label],但工作的基础是它们是背景色,并将问题与所提到的所有相关样式联系起来above@Max伟大的就这样。出于某种原因,本机基本文本不允许在样式属性中使用数组。因此,这种解决方法可以让事情顺利进行如果您使用的是React Native的文本组件,那么这个解决方案应该很好:{x.label}我还应该包括navTxt样式,以确定对[navTxt,x.label]的需要但工作的基础上,他们是背景色等与所有相关的风格提到的问题above@Max伟大的就这样。出于某种原因,本机基本文本不允许在样式属性中使用数组。因此,这个解决方法可以让事情顺利进行如果您使用的是React Native的文本组件,那么这个解决方案应该很好:{x.label}为什么要使用x.label作为不是样式的样式?应该可以工作。@Val因为应用了两种样式-通常是数组样式={[navTxt,Home]}或[navTxt,Next],但因为我正在映射常量navTabs以填充、导航函数和插值标签字符串以及样式属性,x.label派生自.map函数。检查以下@soutoto提供的工作解决方案为什么使用x.label作为样式而不是样式?应该可以工作。@Val因为应用了两种样式-通常是数组样式={[navTxt,Home]}或[navTxt,Next],但因为我正在映射常量navTabs以填充、导航函数和插值标签字符串以及样式属性,x.label派生自.map函数。检查@soutot提供的以下工作溶液