Confusion about the use of vtkMapper

I first calculated using vtkTriangleMeshPointNormals Vertex normal, it’s like for the Vertex shader normalMC transmit a value, then I use the vtkPolyDataTangents calculating tangent, when I try to input it, the normal value seems to be covered, what method will be both at the same time the input to the Vertex shader?

Here’s the code I wrote:

auto norms = vtkSmartPointer<vtkTriangleMeshPointNormals>::New();
norms->SetInputConnection(triangles->GetOutputPort());
mapper->SetInputConnection(norms->GetOutputPort());

auto tangs = vtkSmartPointer<vtkPolyDataTangents>::New();
tangs->SetInputConnection(triangles->GetOutputPort());
mapper->SetInputConnection(tangs->GetOutputPort());

I also noticed that vertex Shader added “Uniform Mat3 normalMatrix”, Can someone help me explain?