修复Component在dispose时的死循环问题，增加ComponentContext