підсвічування синтаксису для коду реакції у піднесеному


78

Я почав писати базовий код React у піднесеному тексті. Ось як виглядає підсвічування синтаксису. Це частково виділено. Чи є якийсь запропонований піднесений плагін, яким я можу скористатися, щоб побачити повне виділення синтаксису?

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

import React, { Component } from 'react'
import { connect } from 'react-redux'   // <-- is the glue between react and redux
import { bindActionCreators } from 'redux'
import { selectBook } from '../actions/index'

// there is no intrinsic connection between React and Redux
// they are two seperate libraries
// they are connected using a seperate library called ReactRedux

// container? its a React component that hasa direct connection to state managed by Redux
class BookList extends Component {

    constructor(props) {
        super(props)
        //this.props = props;
    }

    renderList() {
        return this.props.books.map((book) => {
            return (
                <li key={book.title} className="list-group-item">{book.title}</li>
            )
        })
    }

    render() {
        return (
            <ul className="list-group col-sm-4">
                {this.renderList()}
            </ul>
        )
    }

}

// function is the glue between react and redux
function mapStateToProps(state) {
    // Whatever gets retrieved from here will show up as props inside
    // of book-list

    return {
        books: state.books
    }
}

// anything returned from this function will end up as props on the BookList container
function mapDispatchToProps(dispatch) {
    return bindActionCreators({selectBook: selectBook}, dispatch)
}

// Promote BookList from a component to a container - it needs to know
// about this new dispatch method, selectBook. Make it available as a prop
export default connect(mapStateToProps, mapDispatchToProps)(BookList);

EDIT: [Виправлено неправильний синтаксис, додано текст коду]


1
Я думаю, що у вашому коді може бути проблема. Можливо, ви забули закрити якийсь тег або щось інше.
Codesingh

Відповіді:


179

Встановлення babel виправляє підсвічування синтаксису.

Кроки для встановлення babel на sublime3:

  1. Для вікон: натисніть Ctrl+ Shift+ P Для mac: Cmd + Shift+P
  2. Потім введіть install і виберіть Package control: Install Package
  3. Потім введіть Babel і виберіть 'Babel-Snippets' . Він встановить бабель за кілька хвилин.
  4. Потім встановіть синтаксис Babel у редакторі Sublime3 з :View > Syntax > Babel > Javascript

Для деяких користувачів Babelцей крок відсутній на кроці 4. Вони можуть додатково встановити Babel , виконавши ті самі дії та вибравши Babelцей час замістьBabel-Snippets 3.

Перевірте, я тестував:

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


3
Дякую. насправді я був розгублений, тому що пакет babel називається не Babel, а Babel-Snippets. У будь-якому випадку, це спрацювало для мене.
noi.m

2
Для користувачів Mac, щоб відкрити палітру команд, цеcmd + shift + p
NateH06

6
У Babelмене це працювало з плагіном. З Babel Snippetsплагіном синтаксис Babel не відображався у списку. Я використовую Sublime Text 3 у Windows.
fsinisi90

6
Babel відсутній у синтаксисі після встановлення Babel-Snippets. Встановив Babel і все працює.
Абдул Кадір

3
Крок 4 вище був для мене відсутньою частиною. Не зрозумів, що я мусив сказати йому використовувати Babel Дякую!
Vida,

4

Вам потрібно встановити babel-sublimeплагін.

Ви можете встановити його з package controlпіднесеного.

Ось посилання - https://github.com/babel/babel-sublime


я не бачу опції "Babel" у своєму менеджері пакетів. Ви встановили це вручну?
noi.m

Ну це для піднесених 3.
Пракаш Шарма

У вас є піднесений текст 2?
Пракаш Шарма

2
У мене піднесений3. Як я вже згадував у коментарі вище, пакет називається не Babel, а Babel-Snippets.
noi.m

Зверніть увагу, що вам все одно доведеться `` активувати '' плагін, вибравши Перегляд -> Синтаксис -> Бабель -> Javascript, як зазначено вище.
Курт Пік,

-1

Я зміг це вирішити, встановивши синтаксис на JSX. Мені не потрібно було встановлювати цей плагін.


4
JSX для цього кращий за JS, але плагін Babel справляється з багатьма випадками краще, наприклад, щось подібне <Input onChange={input.onChange} placeholder={'Type here'} />, підсвічування синтаксису JSX трактує ціле placeholder={'Input your email'}як рядок, тоді як плагін Babel виділяє це правильно
user56reinstatemonica8,

Як встановити синтаксис?
Naveed Hasan
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.