react裡面有乙個規範:
note:
the comment parser is very strict right now; in order for it to pick up the@jsx
modifier,two conditions are required.
the@jsx
comment block must be the first comment on the file.
the comment must start with/**
(/*
and//
will not work).
if the parser can't find the@jsx
comment, it will output the file without transforming it.
例項:
/** @jsx react.dom */react.rendercomponent(
react.dom.h1(null, 'hello, world!'),
document.getelementbyid('example')
);
出於好奇,看了一下實現,還真是有點收穫:
facebook有乙個jsxtransformer.js的工具,做一些js的parse工作
var docblock = require('jstransform/src/docblock');這個jstransform**有呢?
這個東西可以做很多事情,看了一下原始碼
var docblockre = /^\s*(\/\*\*(.|\r?\n)*?\*\/)/;var ltrimre = /^\s*/;
/** * @param contents
* @return
*/function extract(contents)
return '';
}
function parseasobject(docblock) ;
for (var i = 0; i < pairs.length; i++)
return result;
}
React常見面試題 原理篇
函式返回值是乙個vnodevnode在通過patch函式進行渲染 如下是乙個迴圈的編譯 const listelem index title li ul 編譯結果如下 var listelem pure react.createelement ul null,void0 state.list.map...
倒車雷達原理篇
往後倒一點,再往後,打方向盤,打多了,回一點再倒,好,停!相信一般的車主在停車場泊位時,都會遇到車輛保管員的 熱情招呼 車技純熟的倒 也與人工提示配合默契 車技一般 方向感較差的,就經常使負責指揮的那位人士高度緊張,脾氣急躁的還少不了擠兌車主幾句。可是,並不是所有車主都有幸得到 人工倒車指引,比如說...
iOS知識原理篇
weak策略表明該屬性定義了一種 非擁有關係 nonowning relationship 為這種屬性設定新值時,設定方法既不保留新值,也不釋放舊值。此特質同assign類似 然而在屬性所指的物件遭到摧毀時,屬性值也會清空 nil out runtime對註冊的類,會進行布局,會將 weak 物件放...