重构prop