代码之家  ›  专栏  ›  技术社区  ›  Anilkumar iOS Developer

文本/视图未隐藏在react native中

  •  0
  • Anilkumar iOS Developer  · 技术社区  · 6 年前

    但是,它没有隐藏。

    这是我的密码

         componentDidMount() {
            this.setState({
              isHidden: true
            });
          }
    
          constructor(props) {
            super(props);
            this.state = {
              isHidden: false,
        };
          }
    
    render() {
        console.log('renderer');
        const { isHidden } = this.state;
            return (
              <View style={styles.container}>
                <View style={styles.container}>
                  //some other objects showing
                      <Text style={styles.Text} hide={isHidden}>
                        Date is Jan 02
                      </Text>
                    //some other objects showing
                      <Text style={styles.Text} hide={isHidden}>
                  </View>
                  </View>
                );
              }
            }
    

    但是,它甚至没有隐藏标志值是真的。 我是不是丢了什么东西?

    3 回复  |  直到 6 年前
        1
  •  3
  •   tombraider    6 年前

    不过,我不是React本地开发人员 looks of the documentation 这个 Text hide 道具。如果要从标准React的角度处理此问题,您可以将适当的功能添加到组件(我认为您不能这样做),或者更改渲染方法:

    class Test extends Component {
        render() {
            return (
                {!this.state.isHidden && <Text style={styles.text}>Exciting copy...</Text>}
            )
        }
    }
    
        2
  •  0
  •   Lokesh Kumar Meena    6 年前

     (!isHidden)?<Text style={styles.Text}>Date is Jan 02</Text>: ''
    
        3
  •  0
  •   Mounir Dhahri    6 年前

    本地反应 Text 没有隐藏道具。这样你就能得到想要的效果 {!this.state.isHidden}<Text>....</Text>

    人们总是建议 Prevent usage of setState in componentDidMount (no-did-mount-set-state)

    所以没有明显的副作用。

    请谨慎使用此模式,因为它通常会导致性能问题。所以除非你在做 server-rendering ,任何需要浏览器环境的内容 必须 componentDidMount ,因为它只运行客户端,但是 componentWillMount 在客户端和服务器上运行。