— Анна Васильевна, девочке нужно продолжать учиться. Такие светлые головы редко встречаются. У нее особый дар к языкам, к литературе. Вы бы видели ее сочинения!

Обучение жизнью

Анна Васильевна, девочке нужно дальше учиться. Такие светлые головы редко встречаются. У нее особый дар к языкам, к литературе. Вы бы только почитали ее сочинения!

Моей дочке было три года, когда я нашла ее под мостом в грязи. Воспитала как родную, хотя люди шептались за спиной. Теперь она учительница в городе, а я по-прежнему живу в своей избушке, перебирая воспоминания, словно драгоценные бусины.

Скрипнула под ногами половица в который раз думаю, надо бы починить, да все руки не доходят. Села за стол, достала свой старый дневник. Страницы пожелтели, как осенние листья, но чернила все еще хранят мои мысли. За окном метель, береза стучит веткой, будто просится в гости.

Чего разшумелась? говорю ей. Подожди немного, весна придет.

Смешно, конечно, с деревом разговаривать, но когда живешь одна, все вокруг кажется живым. После тех страшных лет я осталась вдовой мой Степан погиб. Последнее его письмо до сих пор храню, пожелтевшее от времени, затертое на сгибах столько раз перечитывала. Писал, что скоро вернется, что любит меня, что заживем счастливо А через неделю пришла весть.

Детей Бог не дал, может, и к лучшему в те годы прокормиться было нечем. Председатель колхоза, Николай Иванович, утешал меня:

Не горюй, Анна. Ты еще молода, замуж выйдешь.

Не пойду я больше замуж, твердо отвечала. Один раз любила, хватит.

В колхозе работала от зари до заката. Бригадир Петрович бывало кричит:

Анна Васильевна, иди домой, уже поздно!

Успею, отвечаю, пока руки работают, душа не стареет.

Хозяйство у меня было небольшое коза Манька, такая же упрямая, как я сама. Пять курочек они меня по утрам будили лучше любого петуха. Соседка Клавдия частенько подшучивала:

Ты, случаем, не индюшка? Отчего это твои куры раньше всех орут?

Огород держала картошка, морковь, свекла. Все свое, с земли. Осенью делала заготовки огурцы соленые, помидоры, грибы маринованные. Зимой, бывало, откроешь баночку и словно лето возвращается в дом.

Тот день помню, как сейчас. Март выдался сырой, мокрый. Утром моросил дождь, к вечеру подморозило. Пошла в лес за хворостом печь топить надо. Валежника после зимних вьюг было много, только собирай. Набрала охапку, иду домой мимо старого моста, слышу кто-то плачет. Сначала подумала показалось, ветер шалит. Но нет, явственно, по-детски всхлипывает.

Спустилась под мост, смотрю маленькая девочка сидит, вся в грязи, платьишко мокрое, порванное, глаза испуганные. Увидела меня затихла, только дрожит вся, как осиновый лист.

Ты чья, малышка? спрашиваю тихонько, чтобы не испугать еще больше.

Молчит, только хлопает глазенками. Губы синие от холода, руки красные, опухшие.

Совсем замерзла, говорю больше про себя. Давай-ка я тебя домой отнесу, согреешься.

Подняла ее на руки легкая, как пушинка. Закутала в свой платок, прижала к груди. А сама думаю что за мать такая, что ребенка под мостом оставила? В голове не укладывается.

Хворост пришлось бросить было уже не до него. Всю дорогу домой девочка молчала, только крепко держалась за мою шею закоченевшими пальчиками.

Принесла домой, соседи тут как# 使用 JSX 描述 UI 信息

这一节我们通过一个简单的例子讲解 React.js 描述页面 UI 的方式把 `src/index.js` 中的代码改成:

“`javascript
import React, { Component } from ‘react’
import ReactDOM from ‘react-dom’
import ‘./index.css’

class Header extends Component {
render () {
return (

React 小书

)
}
}

ReactDOM.render(

,
document.getElementById(‘root’)
)
“`

我们在文件头部从 `react` 的包当中引入了 `React` 和 React.js 的组件父类 `Component`记住,只要你要写 React.js 组件,那么就必须要引入这两个东西

`ReactDOM` 可以帮助我们把 React 组件渲染到页面上去,没有其它的作用了你可以发现它是从 `react-dom` 中引入的,而不是从 `react` 引入有些朋友可能会疑惑,为什么不把这些东西都包含在 `react` 包当中呢?我们稍后会回答这个问题

接下来的代码你看起来会比较熟悉,但又会有点陌生你看其实它跟我们前几节里面讲的内容其实很类似,一个组件继承 `Component` 类,有一个 `render` 方法,并且把这个组件的 HTML 结构返回;这里 return 的东西就比较奇怪了,它并不是一个字符串,看起来像是纯 HTML 代码写在 JavaScript 代码里面你也许会说,这不就有语法错误了么?这完全不是合法的 JavaScript 代码这种看起来在 JavaScript 写的标签的语法叫 JSX

## JSX 原理

为了让大家深刻理解 JSX 的含义有必要简单介绍了一下 JSX 稍微底层的运作原理,这样大家可以更加深刻理解 JSX 到底是什么东西,为什么要有这种语法,它是经过怎么样的转化变成页面的元素的

思考一个问题:如何用 JavaScript 对象来表现一个 DOM 元素的结构,举个例子:

“`html

Hello

“`

每个 DOM 元素的结构都可以用 JavaScript 的对象来表示你会发现一个 DOM 元素包含的信息其实只有三个:标签名,属性,子元素

所以其实上面这个 HTML 所有的信息我们都可以用合法的 JavaScript 对象来表示:

“`javascript
{
tag: ‘div’,
attrs: { className: ‘box’, id: ‘content’},
children: [
{
tag: ‘div’,
arrts: { className: ‘title’ },
children: [‘Hello’]
},
{
tag: ‘button’,
attrs: null,
children: [‘Click’]
}
]
}
“`

你会发现,HTML 的信息和 JavaScript 所包含的结构和信息其实是一样的,我们可以用 JavaScript 对象来描述所有能用 HTML 表示的 UI 信息但是用 JavaScript 写起来太长了,结构看起来又不清晰,用 HTML 的方式写起来就方便很多了

于是 React.js 就把 JavaScript 的语法扩展了一下,让 JavaScript 语言能够支持这种直接在 JavaScript 代码里面编写类似 HTML 标签结构的语法,这样写起来就方便很多了编译的过程会把类似 HTML 的 JSX 结构转换成 JavaScript 的对象结构

上面的代码:

“`javascript
import React, { Component } from ‘react’
import ReactDOM from ‘react-dom’
import ‘./index.css’

class Header extends Component {
render () {
return (

React 小书

)
}
}

ReactDOM.render(

,
document.getElementById(‘root’)
)
“`

经过编译以后会变成:

“`javascript
import React, { Component } from ‘react’
import ReactDOM from ‘react-dom’
import ‘./index.css’

class Header extends Component {
render () {
return (
React.createElement(
“div”,
null,
React.createElement(
“h1”,
{ className: ‘title’ },
“React 小书”
)
)
)
}
}

ReactDOM.render(
React.createElement(Header, null),
document.getElementById(‘root’)
);
“`

`React.createElement` 会构建一个 JavaScript 对象来描述

Rate article
Histoires de Vies
Add a comment

three × 5 =