Javascript 如何在单击时设置图标名称
在标题中,我添加了左组件-图标,我想在单击时设置图标。我该怎么做 我试图设置状态值并返回依赖于此值的组件Javascript 如何在单击时设置图标名称,javascript,react-native,Javascript,React Native,在标题中,我添加了左组件-图标,我想在单击时设置图标。我该怎么做 我试图设置状态值并返回依赖于此值的组件 <Header placement="left" leftComponent={ <Icon name='keyboard-arrow-left' color='#ffffff' size={40}
<Header
placement="left"
leftComponent={
<Icon
name='keyboard-arrow-left'
color='#ffffff'
size={40}
onPress={}
/>
}
centerComponent={<Text>User Info</Text>}
/>
您可以为图标创建单独的组件
export class MyIcon extends Component {
state = { name: 'keyboard-arrow-left' }
render() {
return (
<Icon
name={this.state.name}
color='#ffffff'
size={40}
onPress={() => this.setState({ name: 'close' })}
/>
);
}
}
可以为图标创建单独的组件
export class MyIcon extends Component {
state = { name: 'keyboard-arrow-left' }
render() {
return (
<Icon
name={this.state.name}
color='#ffffff'
size={40}
onPress={() => this.setState({ name: 'close' })}
/>
);
}
}
解决此问题的最简单方法是添加对图标组件的引用。然后使用该引用更改图标的任何道具
constructor(props){
super(props);
this.state = {};
this.myIcon = '';
}
updateIconName = (nameEntered) => {
this.myIcon.name = nameEntered;
}
render() {
return(
<View style={{flex: 1}}>
<Header
placement="left"
leftComponent={
<Icon
name='keyboard-arrow-left'
color='#ffffff'
size={40}
onPress={this.updateIconName}
ref={(element) => {this.myIcon = element;}}
/>
}
centerComponent={<Text>User Info</Text>}
/>
</View>
);
}
构造函数(道具){
超级(道具);
this.state={};
this.myIcon='';
}
UpdateConName=(输入的名称)=>{
this.myIcon.name=输入的名称;
}
render(){
返回(
}
centerComponent={User Info}
/>
);
}
解决此问题的最简单方法是添加对图标组件的引用。然后使用该引用更改图标的任何道具
constructor(props){
super(props);
this.state = {};
this.myIcon = '';
}
updateIconName = (nameEntered) => {
this.myIcon.name = nameEntered;
}
render() {
return(
<View style={{flex: 1}}>
<Header
placement="left"
leftComponent={
<Icon
name='keyboard-arrow-left'
color='#ffffff'
size={40}
onPress={this.updateIconName}
ref={(element) => {this.myIcon = element;}}
/>
}
centerComponent={<Text>User Info</Text>}
/>
</View>
);
}
构造函数(道具){
超级(道具);
this.state={};
this.myIcon='';
}
UpdateConName=(输入的名称)=>{
this.myIcon.name=输入的名称;
}
render(){
返回(
}
centerComponent={User Info}
/>
);
}