fix square shouldUpdate
optimize component props creation