Неделю или так назад я написал быструю вступление о выравнивании с реагированными и хотела продолжать с этой мыслью.
Я делал еще несколько чтений в реагированных документах, и было интересно, что они вводят функциональные компоненты перед компонентами класса. Что полностью задом наперед от того, как я его узнал, но имеет смысл.
Я научился сначала создавать компоненты с классами, которые сделали функциональные компоненты, которые выглядят Foriegn и сложно. Вероятно, из-за того, как я узнал, я всегда преподавал студентам, чтобы сначала писать класс компоненты. В будущем я думаю, что я изменим это и сначала преподаю функциональные компоненты, потому что они менее сложны и учат людям думать о своих компонентах в качестве функций, которые принимают аргументы.
В преподавании студентов реагируют, самая тяжелая концепция новичка всегда является реквизитом и государством. Люди, которые только что получили функции более или менее жестко под ногами, внезапно брошены классы и внутренние объекты, а также идея прохождения информации между экземплярами. По моему опыту предпринимают средний новичок в твердые три недели воздействия этих идей, прежде чем они начнут нажать. Я думаю, что мы могли бы понизить это препятствие (если не удалить его полностью), постепенно преподавая людей сначала написать функции JS, затем реагируют с функциональными компонентами, а затем ввести классы и классные функции.
Вот пример прогрессии, о которой я говорю.
Функция Absolute Beginner Grapher в JavaScript:
function greetUser(name) { console.log("Hello" + name) }
Если человек понимает функцию Декларацию/вызов и параметры, они могут получить это далеко.
Это не намного сложнее преподавать функциональный компонент без возобновления реагирования:
const Greeting = (props) => { return (Hello {props.name}
) } export default Greeting
Да, это упрощенный пример. Мы сделали немного больше, чем переход от самой основной именованной функции на функцию стрелки, проводимой в Const – так иными словами, у нас есть ES6-IFIFED наша начальная функция. И мы объединяем его с тем, что новичок будет просматривать как HTML (JSX).
Большие победы, которые я вижу вот то, что новичок узнает о реквизитах как один объект, переданный функции в качестве аргумента. Это может вызвать гораздо меньше путаницы при добавлении состояния с компонентами класса. Разделение обучения этих двух концепций может быть полезной стратегией, когда государство и реквизиты будут слишком много сразу.