модуль разбиения на страницы реакции: неожиданный токен в «::this._handlePageChange»

#reactjs #npm #pagination

#reactjs #npm #разбивка на страницы

Вопрос:

Я установил paginorm отсюда https://www.npmjs.com/package/paginorm

Проблема возникла в

 constructor(props) {
    super();
    this.state = {
      activePage: 15
    };
    this.handlePageChange = ::this._handlePageChange;//Unexpected token (25:26)
} 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.0.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.0.0/react-dom.min.js"></script> 

введите описание изображения здесь

Я обновил свой react («react»: «^ 15.0.0») и react-dom («react-dom»: «^ 15.0.0»). Что я могу упустить …?

Ответ №1:

Реакция не поймет ES6 . Итак, вам нужно добавить babel, который переведет вас ES6 в нормальный режим ES5

Вам нужно включить babel в свой проект, как показано ниже

 <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.0.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.0.0/react-dom.min.js"></script>
<script src="https://unpkg.com/babel-core@5.8.38/browser.min.js"></script>
 

Редактировать

Вы также можете использовать традиционное .bind() , подобное этому.

 this.handlePageChange = this.handlePageChange.bind(this)
 

Комментарии:

1. спасибо, но я уже установил babel в свой проект. «babel-preset-es2015»: «^ 6.16.0», «babel-preset-jason»: «^ 2.0.1», «babel-preset-react»: «^ 6.5.0», «babel-preset-stage-3»: «^ 6.17.0»,

2. А также «babel-core»: «^ 6.6.0», «babel-eslint»: «^ 6.1.2», «babel-loader»: «^ 6.1.0»,