Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите найти SyntaxError (https://javascript.ru/forum/misc/70506-pomogite-najjti-syntaxerror.html)

komplekt_17 11.09.2017 13:56

Помогите найти SyntaxError
 
При сборке билда появляется ошибка

вот сам код
import React, { Component } from 'react';
// Подключаем библиотеку unsplash-js
// (при настроенной webpack-сборке)
import Unsplash from 'unsplash-js';


// Создаем экземпляр объекта для доступа к API
const unsplash = new Unsplash({
  // Application ID из настроек вашего приложения
  applicationId: "8b304f2104e7394c1a13751e65223fec24a86aa32f974953dc0f4634c28e4e9b",
  // Application Secret из настроек вашего приложения
  secret: "6b338b013c7d2d927bd055c83d422d775531d9ea0916a006b2a9c5c3180b31a3",
  // Полный адрес страницы авторизации приложения (Redirect URI)
  // Важно: этот адрес обязательно должен быть указан в настройках приложения на сайте Unsplash API/Developers 
  callbackUrl: "http://www.skart-info.ru/myProjects/diplomajs/"
});

// Генерируем адрес страницы аутентификации на unsplash.com
// и указываем требуемые разрешения (permissions)
const authenticationUrl = unsplash.auth.getAuthenticationUrl([
  "public",
  "write_likes"
]);	

// Считываем GET-параметр code из URL
// [url]www.example.com/auth?code=abcdef123456[/url]...
const code = location.search.split('code=')[1];

class App extends Component{
	// Если код передан, отправляем запрос на получение токена
	if (code) {
		unsplash.auth.userAuthentication(code)
			.then(res => res.json())
			.then(json => {
				// Сохраняем полученный токен
				unsplash.auth.setBearerToken(json.access_token);
			});

		// Теперь можно сделать что-то от имени пользователя
		unsplash.photos.listPhotos(1, 10, "latest")
		.then(res => res.json())
		.then(json => {
			console.log(json);
				return (
					<div>
						{
							json.map(foto => {
								return (
									<div key={foto.id} className="col-md-4 comment">
										<div className="com-span-1">
											<div className="com-name"> {foto.user.name} </div>
											<div className="com-date"> {foto.updated_at} </div>
										</div>
										<div className="text"> {foto.text} 
											<img src={foto.html} />
										</div>
									</div>
								);
							})
						}
					</div>
				);
		});
	}
	 
	// Если кода нет, отправляем пользователя на аутентификацию
	else{	
		location.assign(authenticationUrl);
	}
}

export default App;


Если переделываю на код без класса, то всё нормально билдится, но react выдаёт свою ошибку

stanilar 13.11.2017 21:10

Дык вроде неправильно объявлен класс. В классе вся работа должна идти только через функции.

fearmear.wrk 13.11.2017 21:16

В строке 64 интерпретатор неявно добавляет ; в конец строки, поэтому на else падает.
(А может и нет)

komplekt_17 14.11.2017 11:50

Цитата:

Сообщение от stanilar (Сообщение 469989)
Дык вроде неправильно объявлен класс. В классе вся работа должна идти только через функции.

да не, класс корректно объявлен. Если условную конструкцию убираю, всё корректно работает. Дело именно в If...else

komplekt_17 14.11.2017 11:51

Цитата:

Сообщение от fearmear.wrk (Сообщение 469991)
В строке 64 интерпретатор неявно добавляет ; в конец строки, поэтому на else падает.
(А может и нет)

ну и как от этого избавиться?

komplekt_17 14.11.2017 11:52

ссыль на git
 
добавлю ссылку на весь проект, может это как-то поможет
https://github.com/komplekt17/diplomajs

ruslan_mart 14.11.2017 12:22

Очевидно, что в классе должны быть только методы и свойства, а у Вас там какая-та каша из условий.

Alexandroppolus 14.11.2017 12:35

то что внутри класса, надо "обернуть" в метод render

komplekt_17 14.11.2017 12:52

Цитата:

Сообщение от komplekt_17 (Сообщение 470024)
добавлю ссылку на весь проект, может это как-то поможет
https://github.com/komplekt17/diplomajs

ну так куда условия засунуть? в отдельный метод что ли? вне класса?

komplekt_17 14.11.2017 12:53

Цитата:

Сообщение от Alexandroppolus (Сообщение 470032)
то что внутри класса, надо "обернуть" в метод render

напишите по-конкретнее номера строк, которые нужно обернуть


Часовой пояс GMT +3, время: 23:21.