我是flutter转前端的,在flutter里查看三方源码很简单,直接点击就可以跳转到源码内部,但是react中不行,只能跳转到定义的地方,看不到实现。
想问下大家平时是怎么查看三方源码的。
比如我想看 lodash 库的 cloneDeep 方法是如何实现的,我 cmd + 鼠标左键点击进入 lodash 的源码文件:
然后继续点击 cloneDeep,发现无法查看更深一层的源码了:
难道在 react 中查看源码只能到这一步了吗?希望有经验的大佬分享一下。
我是flutter转前端的,在flutter里查看三方源码很简单,直接点击就可以跳转到源码内部,但是react中不行,只能跳转到定义的地方,看不到实现。
想问下大家平时是怎么查看三方源码的。
比如我想看 lodash 库的 cloneDeep 方法是如何实现的,我 cmd + 鼠标左键点击进入 lodash 的源码文件:
然后继续点击 cloneDeep,发现无法查看更深一层的源码了:
难道在 react 中查看源码只能到这一步了吗?希望有经验的大佬分享一下。
在React中查看第三方库的源码需要一些步骤,因为默认情况下,你只能跳转到定义的地方,而不能直接跳转到源码内部。但是,有一些方法可以帮助你更容易地查看React第三方库的源码:
这些方法可以帮助你查看React第三方库的源码。通过使用这些方法,你可以更好地理解库的工作原理,并深入了解其实现细节。
鼠标右键,找到 source definition
。
然后会跳到具体实现的地方:
再然后跳到这个位置:
/**
* This method is like `_.clone` except that it recursively clones `value`.
*
* @static
* @memberOf _
* @since 1.0.0
* @category Lang
* @param {*} value The value to recursively clone.
* @returns {*} Returns the deep cloned value.
* @see _.clone
* @example
*
* var objects = [{ 'a': 1 }, { 'b': 2 }];
*
* var deep = _.cloneDeep(objects);
* console.log(deep[0] === objects[0]);
* // => false
*/
function cloneDeep(value) {
return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
}
// ----------------------
发现底层其实是 baseClone
,再继续往里面深入:
这样就一步步跳到源码的具体实现了。
10 回答11.1k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
因为现在很多库都已经有类型声明了,VSCode会默认跳转到类型声明文件,如果你要跳转源码右键选择转到源定义即可
