【问题标题】:How to solve the warning message of React Native如何解决 React Native 的警告信息
【发布时间】:2018-08-11 07:38:21
【问题描述】:

我现在正在学习 React Native,最近收到了下面的日志消息。

警告:componentWillMount 已弃用,将在 下一个主要版本。请改用 componentDidMount。作为临时 解决方法,您可以重命名为 UNSAFE_componentWillMount。

我正在学习本教程“React Native 教程:使用 JavaScript 构建 Android 应用” https://www.raywenderlich.com/178012/react-native-tutorial-building-android-apps-javascript

我应该怎么做才能删除消息?

我安装了 react-native-cli 并做了 react-native init projectName。 我更改了 package.json。 我将“react”:“^16.3.0-alpha.1”更改为“^16.2.0”,然后我进行了 npm install。

我的 package.json

{ "name": "PropertyFinder", "version": "0.0.1", "private": true, “脚本”:{ “开始”:“节点 node_modules/react-native/local-cli/cli.js 开始”, “测试”:“开玩笑”},“依赖”:{ “反应”:“^16.2.0”, “反应原生”:“0.54.0”, “反应导航”:“^1.3.0”},“devDependencies”:{ "babel-jest": "22.4.1", “babel-preset-react-native”:“4.0.0”, “笑话”:“22.4.2”, "react-test-renderer": "^16.2.0" }, "jest": { “预设”:“反应原生”} }

但仍显示该警告。

SearchPage.js

'use strict';

import React, { Component } from 'react';
import {
  StyleSheet,
  Text,
  TextInput,
  View,
  Button,
  ActivityIndicator,
  Image
} from 'react-native';
// import { StackNavigator } from 'react-navigation';

export default class SearchPage extends Component<{}> {
  static navigationOptions = {
    title: 'Property Finder',
  };

  constructor(props) {
    super(props);
    this.state = {
      searchString: 'london'
    };
  }

  _onSearchTextChanged = (event) => {
    console.log('_onSearchTextChanged');
    this.setState({
      searchString: event.nativeEvent.text
    });
    console.log('Current: ' + this.state.searchString + ', Next: ' + event.nativeEvent.text);
  }

  render() {
    console.log('SearchPage render');

    return (
      <View style={styles.container}>
        <Text style={styles.description}>
          Search for houses to buy!
        </Text>      
        <Text style={styles.description}>
          Search by place-name or postcode.
        </Text>
        <View style={styles.flowRight}>
          <TextInput
            underlineColorAndroid={'transparent'}
            style={styles.searchInput}
            value={this.state.searchString}
            onChange={this._onSearchTextChanged}
            placeholder='Search via name or postcode' />
          <Button
            onPress={() => {}}
            color='#48bbec'
            title='Go'
          />
        </View>
        <Image source={require('./Resources/house.png')} style={styles.image} />
      </View>    
    );
  }
}

const styles = StyleSheet.create({
  description: {
    fontSize: 18,
    textAlign: 'center',
    color: '#656565',
    marginBottom: 20,
  },
  container: {
    padding: 30,
    marginTop: 65,
    alignItems: 'center',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  },
  instructions: {
    textAlign: 'center',
    color: '#333333',
    marginBottom: 5,
  },
  flowRight: {
    flexDirection: 'row',
    alignItems: 'center',
    alignSelf: 'stretch',
  },
  searchInput: {
    height: 36,
    padding: 4,
    marginRight: 5,
    flexGrow: 1,
    fontSize: 18,
    borderWidth: 1,
    borderColor: '#48bbec',
    borderRadius: 8,
    color: '#48bbec',
  },
  image: {
    width: 217,
    height: 138,
  },
});

App.js

'use strict';
/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 * @flow
 */

import React, { Component } from 'react';
import {
  Platform,
  StyleSheet,
  Text,
  View
} from 'react-native';
import { StackNavigator } from 'react-navigation';

import SearchPage from './SearchPage';

// type Props = {};


const App = StackNavigator({
  Home: {
    screen: SearchPage,
  },
});
export default App;

我的英语不好,对不起。

【问题讨论】:

    标签: javascript reactjs react-native


    【解决方案1】:

    enter link description here

    React v16.3之后,针对生命周期功能进行了调整,那就熟悉一下吧。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-13
      • 1970-01-01
      • 2013-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多